随笔分类 -  vc++

MFC常用类、成员函数、数组类、Cstring类、CTime类、CPoint类
摘要:MFC数组类CByteArray:CDWordArray:CPtrArray:CUIntArray:CWordArray:CStringArray:常用成员函数1.int Add( ARG_TYPE newElement ); throw( CMemoryException );2.TYPE& ElementAt( int nIndex );3.void FreeExtra( );4.... 阅读全文

posted @ 2009-03-12 01:57 chuncn 阅读(5373) 评论(0) 推荐(0) 编辑

LPTSTR、LPCSTR、LPCTSTR、LPSTR的含义
摘要:UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编 现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编 。MBC... 阅读全文

posted @ 2009-03-09 14:30 chuncn 阅读(1483) 评论(0) 推荐(0) 编辑

win32下timer示例
摘要:// win32-timer.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include void CALLBACK TimerProc(HWND hwnd, UINT message, UINT timerID, DWORD time) { MessageBeep(-1); printf("%s\n","a");} int _tmain(int ... 阅读全文

posted @ 2009-03-09 13:49 chuncn 阅读(1951) 评论(0) 推荐(0) 编辑

Unicode:宽字节字符集
摘要:1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数?可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。2. 如何对DBCS(双字节字符集)字符串进行操作?函数 描述PTSTR CharNext ( LPC... 阅读全文

posted @ 2009-03-08 18:48 chuncn 阅读(1093) 评论(0) 推荐(0) 编辑

_variant_t ,_bstr_t 与 CString 类有什么区别
摘要:一、其它数据类型转换为字符串 短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换 长整型(long)ltoa(l,temp,10); 浮点数(float,double)用fcvt可以完成转换,这是MSDN中的例子:int decimal, sign; char *buffer; d... 阅读全文

posted @ 2009-03-08 18:41 chuncn 阅读(7704) 评论(2) 推荐(1) 编辑

CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
摘要:CreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。不调用MFC和RTL的函数时,可以用CreateThread,其它情况不要轻易。在使用的过程中要考虑到进程的同步与互斥的关系(防止死锁)。线程函数定义为:DWORD WINAPI _yourThreadFun(LPVOID pP... 阅读全文

posted @ 2009-03-08 02:02 chuncn 阅读(12604) 评论(0) 推荐(2) 编辑

宽字符处理函数函数与普通函数对照表
摘要:字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit() 测试字符是否为数字 iswgraph() isgraph() 测试字符是否是可见字符 iswlower() islower()... 阅读全文

posted @ 2009-03-07 22:48 chuncn 阅读(670) 评论(0) 推荐(0) 编辑

VC:CString用法整理
摘要:1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CString s; ASSERT( s.IsEmp... 阅读全文

posted @ 2009-02-25 20:12 chuncn 阅读(1159) 评论(0) 推荐(0) 编辑

vc的一些简单用法
摘要:一: CStatic的用法 public: CMyStaticDlg(CWnd* pParent = NULL); // standard constructor CStatic m_Dynamic; //设置文本 CStatic* static1 = (CStatic*)GetDlgItem(IDC_STATIC1); static1->SetWindowText... 阅读全文

posted @ 2009-02-25 20:03 chuncn 阅读(1646) 评论(0) 推荐(0) 编辑

c++重点分析[转]
摘要:一、#include “filename.h”和#include 的区别 #include “filename.h”是指编译器将从当前工作目录上开始查找此文件 #include 是指编译器将从标准库目录中开始查找此文件 二、头文件的作用 加强安全检测 通过头文件可能方便地调用库功能,而不必关心其实现方式 三、* , &修饰符的位置 对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名 ... 阅读全文

posted @ 2009-02-25 20:00 chuncn 阅读(381) 评论(0) 推荐(0) 编辑

C++ int,char,string,CString类型转换
摘要:/*从字符串的左边截取n个字符*/char * left(char *dst,char *src, int n){char *p = src;char *q = dst;int len = strlen(src);if(nlen) n = len;/*p += (len-n);*/ /*从右边第n个字符开始*/while(n--) *(q++) = *(p++);*(q++)='\0'; /*有必要吗?很有必要*/return dst;}/*从字符串的中间截取n个字符*/char * mid(char *dst,char *src, int n,int m) /*n为长度,m为位置*/{ch 阅读全文

posted @ 2009-02-24 21:40 chuncn 阅读(1807) 评论(0) 推荐(0) 编辑

C++ int,char,string,CString类型转换
摘要:1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include #include std::string text = "152";int number = std::atoi( text.c_str() );if (errno == ERANGE) //可能是std::errno{ //number可能由于过大或过小而不能完全存储}else if (errn... 阅读全文

posted @ 2009-02-24 21:39 chuncn 阅读(1892) 评论(0) 推荐(0) 编辑

vc--"少林72般绝技"
摘要:VC是许许多多技术的综合,就好象少林72般绝技,一般在应用中学会其中很少一部分就够了。我们的现在目的,其实不过是学一套少林长拳。这套长拳应包括: 1、养成一种严谨的软件开发习惯,熟悉软件工程的基本原则。 2、C语言基础 3、C++最基本内容:类、继承性、封装性、多态性的概念 4、如何用向导建立一个程序框架 5、设计菜单 6、设计工具条 7、设计和使用对话框,熟悉最常用的对话框控件:按钮、静态文本... 阅读全文

posted @ 2009-02-24 21:15 chuncn 阅读(303) 评论(0) 推荐(0) 编辑

c++字符串详解(转)
摘要:之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程序中使用stri... 阅读全文

posted @ 2009-02-13 16:45 chuncn 阅读(78807) 评论(0) 推荐(6) 编辑

从C到C++ string类
摘要:C语言的字符串函数,简单而高效。C++ string类,功能强大而复杂(对于我这样的人来讲,复杂了点)。简单的比较没有意义,只是在特定的情况下哪一个更适合的问题。 而在决定哪一个更适合之前,你可能需要明白: A STL标准模板库中的string类使用异常来传递错误 B STL标准模板库中的string类,是一个具有写时才拷贝(Copy-On-Write)技术的类。Copy-On-Write使用了“... 阅读全文

posted @ 2009-02-13 16:44 chuncn 阅读(4623) 评论(0) 推荐(0) 编辑

交叉编译器
摘要:在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上... 阅读全文

posted @ 2009-02-10 00:38 chuncn 阅读(3349) 评论(0) 推荐(2) 编辑

有关UNICODE、ANSI字符集和相关字符串操作的总结[转]
摘要:Q UNICODE字符串如何显示 A 如果程序定义了_UNICODE宏直接用 WCHAR *str=L"unicodestring"; TextOut(0,0,str); 否则就需要转换类型 #include WCHAR *str=L"unicodestring"; bstr_t str1=str; TextOut(0,0,(char*)str1); Q 如何实现ANSI和UNICODE的相互转... 阅读全文

posted @ 2009-01-24 19:03 chuncn 阅读(668) 评论(0) 推荐(0) 编辑

C++字符串完全指引之一 —— Win32 字符编码
摘要:毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。 在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。即使你已经知道一个字符串是一个字符数组... 阅读全文

posted @ 2009-01-24 18:46 chuncn 阅读(542) 评论(1) 推荐(0) 编辑

C++字符串完全指引之二 —— 字符串封装类
摘要:因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。 这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C++ 运行库中出现的字符串类型。我将描述每一个类的... 阅读全文

posted @ 2009-01-24 18:46 chuncn 阅读(411) 评论(0) 推荐(0) 编辑

Windows编程中各种操作文件的方法
摘要:windows编程中文件操作有以下几种常见方法:1.C语言中文件操作。2.C++语言中的文件操作。3.Win32 API函数文件操作。4.MFC CFile类文件操作。5.MFC CFileDialog类的文件操作。6.注册表文件操作。下面我来详细说明一下各种文件操作方法:1. C语言中文件操作.需要包含的头文件STDIO.H  写入文件: FILE *pfile=fopen("C.txt","w");//以写的方式打开C.txt文件。 fwrite("Welcome to VCFans!",1,strlen("Welcome to VCFans!"),pfile);//将数据写入文件。 阅读全文

posted @ 2009-01-24 14:15 chuncn 阅读(13556) 评论(0) 推荐(2) 编辑

导航