1.
如果你认为你的程序可能在Unicode的环境下运行,那么开始在意用 Unicode 编码。比如说,不要用 sizeof() 操作符来获得字符串的长度,因为在Unicode环境下就会有2倍的误差。我们可以用一些方法来隐藏Unicode的一些细节,比如在我需要获得字符长度的时候,我会用一个叫做DIM的宏,这个宏是在我的dim.h文件中定义的,我会在我写的所有程序中都包含这个文件:
#define DIM(x) (sizeof((x)) / sizeof((x)[0]));
2.
CString对象可以被认为是字符数组. 将CString看作实际的字符串,而不是指向字符串的指针;
3.
CString与string:
cstr2.Format("%s", s2.c_str());
cstr2.Format("%s", s3.data());
c_str()和data()区别是:前者返回带'/0'的字符串,后者则返回不带'/0'的字符串
CString to string:
str=cstr3.GetBuffer(0);
str = LPCSTR(cstr4);
4.
输出CString
- void printCString(const CString &cstr)
- {
- int n = cstr.GetLength();
- for(int i=0; i<n; i++)
- {
- printf("%c", cstr[i]);
- }
- printf(" ");
- }
5.
char*与CString:
(1)char *ch = "char pointer.";
CString cStr1 = ch;
CString cStr2 = CString(ch);
(2)char* chs=cstr.getbuffer(0);
6.