1. 程式人生 > >判斷CString字串為空

判斷CString字串為空

判斷一個CString是否為空

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

結論:GetLength()<=0 好

====================另外的方法======================================

if(str.IsEmpty())

 str   ==   _T( " ");  


也可以.compare(_T( " "))==0啊   

if(string== " ") 
簡單直接。 

============================================

要是建立一個空CString   字串   又怎麼初始化比較好? 
我現在都這樣 
CString   str   =   _T( " ");