|  | 
 
| MFC判断字符串是否为空或NULL 在MFC中,判断字符串是否为空或为 `NULL` 可以通过几种不同的方法来实现,具体取决于你使用的字符串类型。以下是一些常用的方法:
 
 ### 1. 使用 `CString`
 
 如果你使用的是 `CString` 类型,可以使用 `IsEmpty()` 方法来判断字符串是否为空:
 
 
 复制代码```cpp
CString str;
// 判断字符串是否为空
if (str.IsEmpty()) {
    AfxMessageBox(_T("字符串为空!"));
}
```
 
 ### 2. 使用 `std::string`
 
 如果你使用的是 `std::string` 类型,可以直接检查字符串的长度:
 
 
 复制代码```cpp
std::string str;
// 判断字符串是否为空
if (str.empty()) {
    AfxMessageBox(_T("字符串为空!"));
}
```
 
 ### 3. 使用 `std::wstring`
 
 如果你使用的是 `std::wstring` 类型(适用于Unicode),同样可以使用 `empty()` 方法:
 
 
 复制代码```cpp
std::wstring str;
// 判断字符串是否为空
if (str.empty()) {
    AfxMessageBox(_T("字符串为空!"));
}
```
 
 ### 4. 检查指针是否为 `NULL`
 
 如果你有一个字符指针(例如 `char*` 或 `wchar_t*`),你需要同时检查指针是否为 `NULL` 和指向的字符串是否为空:
 
 
 复制代码```cpp
char* str = nullptr;
// 检查指针是否为NULL或字符串是否为空
if (str == nullptr || strlen(str) == 0) {
    AfxMessageBox(_T("字符串为空或为NULL!"));
}
```
 
 对于宽字符指针(`wchar_t*`):
 
 
 复制代码```cpp
wchar_t* str = nullptr;
// 检查指针是否为NULL或字符串是否为空
if (str == nullptr || wcslen(str) == 0) {
    AfxMessageBox(_T("字符串为空或为NULL!"));
}
```
 
 ### 总结
 
 根据你使用的字符串类型,你可以选择合适的方法来判断字符串是否为空或为 `NULL`。对于 `CString`,使用 `IsEmpty()` 方法;对于 `std::string` 和 `std::wstring`,使用 `empty()` 方法;对于字符指针,检查指针是否为 `NULL` 以及字符串长度。
 
 
 | 
 |