如果应用程序是 unicode,我如何解析作为命令行参数传递给应用程序的整数?
Unicode 应用有一个像这样的 main:
int _tmain(int argc, _TCHAR* argv[])
argv[?] 是一个 wchar_t*。这意味着我不能使用atoi。如何将其转换为整数? stringstream 是最佳选择吗?
最佳答案
如果你有一个 TCHAR 数组或一个指向它开头的指针,你可以使用 std::basic_istringstream
来处理它:
std::basic_istringstream<_TCHAR> ss(argv[x]);
int number;
ss >> number;
现在,number
是转换后的数字。这将在 ANSI 模式(_TCHAR 类型定义为 char
)和 Unicode(_TCHAR 类型定义为 wchar_t,如您所说)模式下工作。
关于c++ - 在 unicode C++ 应用程序中解析命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332849/