- 博客(117)
- 资源 (8)
- 收藏
- 关注
原创 保存CString字符串到文件
// 保存CString字符串到文件bool CChatDlg::SaveSecretTalk( CString strTalkContent ){ // 选择路径对话框 CFileDialog dlgFile( FALSE, _T("txt"), NULL, OFN_NOCHANGEDIR | OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_CRE
2013-12-19 14:53:47 2275
转载 使用Unicode字符集时用CFile把中文写入txt文件再用记事本打开出现乱码的问题
打开VS(我用的是VS2005),设定字符集为Unicode(右键项目名,属性 -> 配置属性 -> 常规 -> 字符集 -> 使用 Unicode 字符集),然后使用下面这段代码生成一个文件 CString strPath = _T("C:\\Documents and Settings\\Administrator\\桌面\\test.txt"); CFile
2013-12-19 10:33:18 2723
转载 VS2008,vs2010 快捷键大全
VS2008,vs2010 快捷键大全Ctrl+m+Crtr+o折叠所有大纲Ctrl+M+Crtr+P: 停止大纲显示Ctrl+K+Crtr+C: 注释选定内容Ctrl+K+Crtr+U: 取消选定注释内容Ctrl+J : 列出成员 智能感知Shift+Alt+Enter: 切换全屏编辑Ctrl+B,T / Ctrl+K,K: 切换书签开关Ctrl+B,N /
2013-12-17 12:48:38 445
转载 编译和链接的区别
在多道程序环境中,要想将一个用户源代码变成一个可以在内存中执行的程序,通常分为三个步骤:编译、链接、载入。 (1)编译:由编译程序将用户的源代码编译成若干个目标模块。 (2)链接:由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的载入模块。 (3)载入:由载入程序将载入模块载入内存。
2013-12-10 17:47:50 429
转载 解决方案的目录结构设置和管理
相对目录是相对某个文件而言的,例如在 VC 项目属性配置附加包含目录、附加库目录则是相对 *.dsp 、 *.vcproj 文件而言的;在某个 *.c 、 *.cpp 文件中使用 #include 包含命令,是相对这个 *.c 、*.cpp 文件而言的。当前目录是可见的,一般直接引用文件名(夹)对于子文件夹可以添加“./” 。父目录则是“..” ,如“../include” :表示
2013-12-10 17:04:07 1124
转载 关于Dll 导出函数名(ZZ)
http://blog.csdn.net/conanlrj/article/details/5797549使用Dependency看DLL的导出函数的名字,会发现有一些有意思的东西,这大多是和编译DLL时候指定DLL导出函数的导出符有关系。//////////////////////////////////////////////////////////////////////////
2013-12-05 16:10:03 1181
转载 COM组件 #import ; tlb, tlh, tli 文件
tlb文件:com类型库文件。在需要使用对应com类的模块里,“#import ...*.tlb”使用之。tlh、tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件。因为odl和tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用。相信vb和j++也会把tlb翻译成自己语言兼容的类型描述信息。tlh相当于类型申明(头文件),tli相当于定义
2013-12-03 15:38:46 6722
转载 vs2010创建和使用动态链接库(dll)
感谢原文作者,地址:http://blog.csdn.net/zddblog/article/details/7352917本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流。本文包含以下内容:创建动态链接库项目向动态链接库添加类创建引用动态链接库的应用程序在控制台应用程序中使用类库的
2013-12-02 19:55:40 734
转载 CWnd 类 和 CWindow类 的区别
在 MSDN 中一个函数属于 CWnd 类 和 CWindow类 的区别:1、CWindow是ATl中封装的窗口类,没有ClassWizzard支持的。 CWnd是MFC的封装有ClassWizzard支持。2、CWindow 是在 window ce 平台上使用的CWnd 是mfc中所有窗口类的基类
2013-11-25 09:56:56 1743
转载 失去和得到焦点OnActivate
原文地址:http://blog.csdn.net/xiashengfu/article/details/7938084失去焦点和得到焦点响应的是:ON_WM_ACTIVATE()对应的处理是:afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);nState有三种状态:WA_INACTIVE
2013-11-22 16:12:22 1056
原创 字体设置窗口类
// FontSetDlg.cpp : implementation file//#include "stdafx.h"#include "FontSetDlg.h"#include "ResourceMgr.h"#include "ChatDlg.h"// CFontSetDlg dialog//IMPLEMENT_DYNAMIC(CFontSetDlg, CDialog)
2013-11-22 11:39:16 815
转载 编程时加入断点
编程时加入断点Windows的调试API中包含了一个用于产生断点异常的API,名为DebugBreak,它的原型非常简单,没有参数,也没有返回值:void DebugBreak(void);当编写程序时,如果希望在某种情况下中断到调试器中,可以加入如下代码:if (IsDebuggerPresent() && )DebugB
2013-11-22 10:27:35 1692
转载 DoDataExchange函数的来龙去脉
关于对话框数据交换及验证 对话框的数据交换和验证机制(DDX、DDV)可以使对话框上控件与对象数据成员间协调工作。 包括控件窗口与控件对象间的连接,控件窗口与对话框数据成员间的连接,以及数据成员的合法性验证等等。 在 virtual void DoDataExchange(CDataExchange* pDX);中记录了这些关系: 例如: DDX_Control(pDX, IDC
2013-11-20 15:00:22 958
原创 敏感词处理
// test9.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include using namespace std;const int Char_Max=150;//字符串存储长度最大值//string
2013-11-20 14:52:32 1347
原创 窗口震动函数
void Shake(){ CRect WndRect; CRect NewRect; GetWindowRect(&WndRect); int XOffset = 0; int YOffset = 0; for(int i=0; i<50; i++) { XOffset = (rand() % 40) - 20;/
2013-11-08 11:36:02 789
转载 复制Virtual Box虚拟机
原地址: http://blog.sina.com.cn/s/blog_687e75370100r2yd.html在Virtual Box上安装好一台虚拟机后,如果能把虚拟机的硬盘文件(VDI文件)复制一份是不是就又有了一台全新的操作系统啦?这样可以省去几十分钟的安装时间呢,答案是肯定的,但是这个复制过程需要一个小技巧,复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有
2013-11-05 19:44:07 1162
原创 术语的增删改保存
//===================// 增加术语//===================void CAntOptSysLangDlg::OnBnAddLang(){ CResourceMgr ResourceMgr( _T("AntView.dll") ); int nCount; CString strTitle = _T(""); CString str
2013-11-04 11:03:36 694
转载 CString与std::string转换
Ansi的情况:CString cs("Hello");std::string s((LPCTSTR)cs);std::string s("Hello");CString cs(s.c_str());Unicode的情况:把string都替换成wstringCString cs ("Hello"); // Convert a TCHAR string to a LPCST
2013-11-04 10:59:05 705
原创 TinyXML
从文件读,参数是路径char *pchDst = NULL;if( !AntUtils::CAntStrUtils::ToANSIChar(CAStringW(strXMLFile), &pchDst, nDstLen ) ) return false; string strFileName; strFileName.append(pc
2013-10-30 16:17:51 716
转载 禅与摩托车维修艺术
【作者简介】: 罗伯特·M·波西格(Robert M. Pirsig),1928年生于美国明尼苏达州双子城。15岁进入明尼苏达大学主修化学,后又学习哲学,之后在该校攻读传播学硕士;他曾到印度伯纳雷斯印度大学学习东方哲学,并担任修辞学教授。在追求真理的过程中,因为西方倡导的二元对立与二分法带来的分裂而困扰不已,因而一直试图寻找支离破碎的文化的整合之道,并试图建立自己“metaphysics
2013-10-21 17:42:23 22094
转载 CDATA部件
CDATA部件在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"一个 CDATA 部件以"" 标记开始,以"]]>"标记结束:function matchwo(a,b){if (a < b && a < 0) then{return 1}else{return 0}}]]>在前面的例子中,所有在CDAT
2013-10-16 15:02:52 490
转载 unicode转utf-8
#include "UserMemAlloc.h"#ifdef WIN32#include "IncludeWindows.h"#include "utf.h"namespace UTF_CONVERT{/*** Convert a UTF-8 string to microsoft unicode (UTF-16?). */int utf8ToUnicode(WCHAR
2013-10-14 20:04:08 637
翻译 使用Tinyxml保存节点内容(包括其子节点的内容)到字符串CString
// Create a TiXmlDocument TiXmlDocument *pDoc =new TiXmlDocument("my_doc_name");// Add some content to the document, you might fill in something else ;-) TiXmlComment* comment = new TiXmlC
2013-10-14 17:08:32 1565 2
原创 敏感词提示及管理,增删改,并保存至xml,使用tinyxml
// SenStivWrdDlg.cpp : implementation file//#include "stdafx.h"#include "SenStivWrd.h"#include "SenStivWrdDlg.h"#include "afxdialogex.h"#include "ModifyDlg.h"#include "AddDlg.h"#include "tin
2013-10-11 11:28:43 1286
原创 CString转换为const char*
LPCTSTR Str = str.GetBuffer(); // CString转换为const char* DWORD dwMinSize; dwMinSize=WideCharToMultiByte(CP_ACP,NULL,Str,-1,NULL,0,NULL,FALSE); char * pp=new char[dwMinSize]; WideCharToMultiB
2013-10-10 22:49:22 1100
原创 expat使用配置
添加libexpatMT.lib,libexpat.lib,expat.h到工程文件夹下添加文件到工程,包含头文件expat.h将libexpat.dll文件放到解决方案文件夹下的Debug文件夹下将工程属性
2013-10-10 18:43:19 1492
转载 从richrdit获取文本,设置文本
// set the text in IDC_EDITNAMECWnd* pWnd = GetDlgItem(IDC_EDITNAME);pWnd->SetWindowText(_T("Gerald Samper"));// Get the text back. CString is convenient, because MFC// will automatically allocat
2013-10-10 09:34:15 613
转载 VS2010使用richeditctrl
在工程文件的主函数文件中定义一个RichEdit控件句柄全局变量:static HWND hWinRich; //注意是静态变量,我以前不用静态的变量,好像无法显示RichEdit; 在主函数中加入RichEdit控件库文件装入函数:HINSTANCE hRich;hRich = LoadLibrary(TEXT("RIC
2013-10-09 17:27:20 1872
原创 展开消息处理函数
// Test1Dlg.cpp : implementation file//#include "stdafx.h"#include "Test1.h"#include "Test1Dlg.h"#include "afxdialogex.h"#include "expat.h"#include "sqlite3.h"#include #include #include #
2013-10-09 13:34:17 1374
转载 C++类型转换详解--const_cast
原文地址:http://blog.csdn.net/lwbeyond/article/details/6213382一. 函数描述:const_cast ( expression )主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。去掉const属性:const_case (&num),常用,因为不能把一个const变量直接赋给一个
2013-09-30 17:49:37 795
转载 字符,字节和编码
转载出处:http://www.regexlab.com/zh/encoding.htm]摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码
2013-09-30 15:13:44 617
转载 vs2010编译生成sqlite3.lib库
原文地址:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html知识补充: sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必需的代码和其他资源。 动态的sqlite3.lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿
2013-09-29 09:53:16 1234
转载 MultiByteToWideChar和WideCharToMultiByte用法详解
1.使用方法详解在本文开始之处,先简要地说一下何为短字符和宽字符.所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说.
2013-09-27 17:32:23 455
转载 xml文件的解析方式
SAX解析XML文件就目前来说,有三种方式可以解析XML文件:DOM、SAX、StAX。DOM将整个XML文件加载到内存中,并构建出节点树;应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点、属性等信息;这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内存,解析速度也不快。SAX则是基于事件的解析,解析器在一次读取XML文件中根据读取的数据产生相应的事件,由
2013-09-25 11:54:50 462
转载 关于Unicode支持,wchar_t * 到 char *的转换
CString origCString("Hello,World"); char* CharString = origCString.GetBuffer(origCString.GetLength()+1); 在VC++2008中编译得到下列信息: Error 1 error C2440: 'initializing' : cannot convert from 'wc
2013-09-18 10:55:59 1802
转载 UTF8ToGBK
在使用TinyXML 时,发现中文支持不好,找来找去,发现下面文章对我有很大帮助,按照其中的函数进行转换后,可以处理中文 我是在SetAttribute() 函数之前使用的SetAttribute(const char* name,const char * _value) 首先得到了一个CString 类型的变量 strIte
2013-09-17 16:12:29 1037
转载 QT 多线程程序设计
原文地址:http://www.cnblogs.com/hicjiajia/archive/2011/02/03/1948943.html QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用
2013-09-05 15:25:40 654
Windows核心编程
2013-10-22
使用timyxml解析xml文件,并显示在树控件,然后读取树控件内容再保存到xml文件
2013-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人