atoi和stoi有什么区别?
我知道,
std::string my_string = "123456789";
为了将该字符串转换为整数,您需要执行以下操作:const char* my_c_string = my_string.c_str();
int my_integer = atoi(my_c_string);
C++11 提供了一个简洁的替代方案:
std::string my_string = "123456789";
int my_integer = std::stoi(my_string);
1). 两者之间还有其他区别吗?
2). 在效率和性能方面,哪一个更好?
3). 哪一个使用起来更安全?
std::stoi
参考文献 并将其与 这个std::atoi
参考文献 进行比较。 - Some programmer dudestd::atoi
不是对应于std::stoi
的C函数,相反,应该使用std::strtol
,我建议使用strtol
而不是atoi
。 - Some programmer dude