c++ - 在 unicode C++ 应用程序中解析命令行参数

标签 c++ command-line unicode

如果应用程序是 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/

相关文章:

c++ - 如果我用 extern "C"声明一个函数,我也应该这样定义它吗?

macos - Excel vlookup 之类的命令行函数或工具?

linux - 为什么在构建这个简单的 if else 语句时会出现错误 "Unary Operator Expected"?

c++ - 在 copy-and-swap 习语中实现交换

c# - 如何将 C 数组映射和编码为 C# 代码

php - 如何使用 PHP 将阿拉伯字符转换为 Unicode

python - 带有 unicode 修复的元组

c++ - std::u8string与std::string有何不同?

C++ 没有 [] 的匹配构造函数初始化

python - 有没有办法使用 argparse 模块输入以 '-' 符号开头的字符串作为命令行参数? (不使用标志)