C++ 标准库 - <cstdlib>

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。