标签: c++ c++11 c++14 c++17
在How to convert a command-line argument to int?,显示了如何将comand行参数赋给一个整数。
我正在寻找短途旅行。不使用atoi()。
atoi()
int size; istringstream s(argv[1]); s >> size;
有了所有很棒的C ++ 11/14/17,我仍然需要3个LOC吗?还是周围有int size = magic(argv[1])?
int size = magic(argv[1])
答案 0 :(得分:-1)
您可以使用std::atoi:
std::atoi
int size = std::atoi(argv[1]);
请注意,它提供了糟糕的错误报告-它仅返回0,因为无法执行转换。更好的选择是std::stoi,它接受std::string并在错误时引发异常:
0
std::stoi
std::string
int size = std::stoi(argv[1]); // note implicit conversion from const char * to std::string