用GetLength()<=0好,還是==""好?
CString str;
str += '\0';
int len = str.GetLength();
得到len=1;
但str=="", 返回的是true;
因為真正比較的時候只是單純的逐個字符比較, '\0'作為結(jié)束符.
CString str2;
str==str2返回也是true, 因為str2被隱式轉(zhuǎn)換為LPTCSTR, 比較也是一樣的.
所以說應(yīng)避免str += '\0'這樣的寫法.
在CString的使用過程中應(yīng)該忘記'\0'的存在?
但聲明一個char str[]; 必須memset(...)為0值,不然麻煩多.