Microsoft KB Archive/111923

= How To Compare a CString to the Empty String =

Article ID: 111923

Article Last Modified on 11/21/2006

-

APPLIES TO

 Microsoft Foundation Class Library 4.2, when used with:  Microsoft Visual C++ 1.0 Professional Edition

 Microsoft Visual C++ 1.5 Professional Edition

 Microsoft Visual C++ 1.51

 Microsoft Visual C++ 1.52 Professional Edition</li></ul>

 Microsoft Visual C++ 1.0 Professional Edition</li></ul>

 Microsoft Visual C++ 2.0 Professional Edition</li></ul>

 Microsoft Visual C++ 2.1</li></ul>

 Microsoft Visual C++ 4.0 Standard Edition</li></ul>

 Microsoft Visual C++ 5.0 Standard Edition</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q111923

<div class="summary_section">

SUMMARY
The correct way to test a CString to see whether it is empty (or not empty) is to use the IsEmpty member function as shown below: CString x = "This is a sample CString"; if (x.IsEmpty) AfxMessageBox("The CString is EMPTY"); else AfxMessageBox("The CString is not EMPTY");

<div class="moreinformation_section">

MORE INFORMATION
The CString member function IsEmpty tests a CString for the empty condition. The function returns nonzero if the string has zero length.

If the CString equality operators (==, !=) are used in an attempt to test whether a CString is NULL, a general protection (GP) fault may occur. The following code fragment demonstrates this: CString x = "This is a sample CString"; if (x != NULL) // GP Fault for (x == NULL) condition, as well AfxMessageBox("The CString is not EMPTY"); else AfxMessageBox("The CString is EMPTY"); Because x is a CString object, not a pointer, it is inappropriate to compare x to a null pointer.

Testing a CString against the empty string, as shown below, is allowed. Because a temporary CString object is constructed, this method is less efficient than calling IsEmpty: CString x = "This is a sample CString"; if (x != "") AfxMessageBox("The CString is not EMPTY"); else AfxMessageBox("The CString is EMPTY");

Additional query words: CString inequality 2.50 2.51 2.52 3.00 3.10 gpf NULL gp-fault

Keywords: kbhowto kbstring KB111923

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.