CString

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
  1. void printCString(const CString &cstr)   
  2. {  
  3.     int n = cstr.GetLength();  
  4.     for(int i=0; i<n; i++)  
  5.     {  
  6.         printf("%c", cstr[i]);  
  7.     }  
  8.     printf(" ");  
  9. }  

5.

char*与CString:

(1)char *ch = "char pointer.";  

CString cStr1 = ch; 

CString cStr2 = CString(ch);  

(2)char* chs=cstr.getbuffer(0);

6.

原文地址:https://www.cnblogs.com/wllwqdeai/p/9934153.html