将字符串(以char*形式给出)解析为int的C++方式是什么?强大而清晰的错误处理是一个优点(而不是返回零).
atoi和之间有什么区别stoi?
我知道,
std::string my_string = "123456789";
Run Code Online (Sandbox Code Playgroud)
要将该字符串转换为整数,您必须执行以下操作:
const char* my_c_string = my_string.c_str();
int my_integer = atoi(my_c_string);
Run Code Online (Sandbox Code Playgroud)
C++ 11提供了简洁的替代品:
std::string my_string = "123456789";
int my_integer = std::stoi(my_string);
Run Code Online (Sandbox Code Playgroud)
1).这两者之间还有其他差异吗?
2).效率和性能明智哪一个更好?
3).哪个更安全?
我正在尝试将std::string存储的a std::vector转换为整数并将其作为参数传递给函数.
这是我的代码的简化版本:
vector <string> record;
functiontest(atoi(record[i].c_str));
Run Code Online (Sandbox Code Playgroud)
我的错误如下:
error: argument of type ‘const char* (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::)()const’ does not match ‘const char*’
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?