簡體   English   中英

如何檢查MFC CString是否為空?

[英]How can I check if a MFC CString is null?

我想檢查MFC CString是否為null。 有沒有辦法做到這一點?

PS:我想檢查它是否為null而不是它是否為空。

CString m_strName;

在此處輸入圖片說明

CString對象從不為NULL char*wchar* (可以為NULL ,作為指針的CString對象的內部緩沖區始終指向數據。 對於給定的CString對象,只能使用CString::IsEmpty()區分它是否為空。

出於相同的原因, LPCTSTR運算符從不返回NULL

由於CString類模板1)的內部布局,因此存儲的指針永遠不能為NULL

CString類模板具有一個類成員: m_pszData 該成員不僅包含字符串數據,還包含其他信息(例如字符串長度,引用計數,緩沖區容量等;請參見CStringData )。 此附加信息存儲在存儲的指針的左側。 這兩個部分(字符串數據和字符緩沖區)都必須分配在一個內存塊中,因為只有一個指針可以引用這兩個部分。 由於字符串數據始終需要存在,因此m_pszData永遠不能為NULL


1) CString是用於特定CStringT模板實例化的typedef。 CStringT本身是從CSimpleStringT類模板派生的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM