C++ std::atoi 解析以空字符结尾的十进制文本。前导空白会跳过;无法转换时返回 0,与合法的 0 无法区分。新代码更宜 std::stoi 或 strtol。
原型
int atoi(const char* str);参数
str:C 风格字符串。
返回值
转换得到的 int;失败时为 0。
示例
#include <cstdlib>
#include <iostream>
int main() {
std::cout << std::atoi("42") << "\n";
std::cout << std::atoi(" 7xyz") << "\n";
return 0;
}输出:
42
7
注意事项
" 7xyz" 仍得到 7,尾部垃圾被忽略。需要严格解析时用 strtol 检查结束指针。
下一页介绍strtol。