MFC unicode CString 转int
时间: 2023-06-21 18:14:50 浏览: 135
可以使用 `_wtoi` 函数将 Unicode 编码的 CString 转换成 int 值。例如:
```cpp
CString str = L"123";
int n = _wtoi(str);
``如果 CString 中包含非数字字符,则会自动忽略非数字字符,将数字部分转换成 int 值。如果 CString 为空,则返回 0。
相关问题
MFC UNICODE int 转CString
你可以使用CString的Format方法将整数转换为CString,如下所示:
```cpp
int num = 123;
CString str;
str.Format(L"%d", num);
```
其中,`%d`是格式化字符串中的占位符,用于表示整数类型。`L`前缀表示使用Unicode编码。如果你的MFC项目中没有启用Unicode,可以将`L`前缀去掉。
mfc cstring 转int
在MFC中,可以使用_ttoi函数将CString类型转换为int类型。_ttoi函数是一个宏,根据编译时的UNICODE或ANSI字符集设置,会自动调用atoi或wtoi函数进行转换。例如,如果使用UNICODE字符集,可以直接使用_ttoi函数将CString转换为int,如下所示:
CString str = _T("123");
int i = _ttoi(str); // i的值为123
如果使用ANSI字符集,可以使用atoi函数或CT2A宏将CString转换为char*,然后再使用atoi函数将char*转换为int,如下所示:
CString strNum("100");
int num;
num = atoi(CT2A(strNum.GetBuffer())); // num的值为100
总结起来,使用_ttoi函数可以直接将CString转换为int,而如果使用ANSI字符集,则需要先将CString转换为char*,再使用atoi函数进行转换。
#### 引用[.reference_title]
- *1* [MFC CString 和int相互转化](https://blog.csdn.net/guyue35/article/details/45577687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MFC中CString和int的转换](https://blog.csdn.net/u011555996/article/details/90736838)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文