如果应用程序是unicode,如何解析传递给应用程序的整数作为命令行参数?
Unicode应用程序有这样的主要:
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是typedef'ed char
)和Unicode(_TCHAR是typedef`ed to wchar_t,如你所说)模式.