Atoi 仅返回 char* 参数的第一个数字

atoi only returning first digit of char* parameter

本文关键字:第一个 数字 参数 返回 char Atoi      更新时间:2023-10-16

当使用参数 15 运行我的程序时,atoi 返回 1。 Atoi 仅返回第一个数字。 这是应该发生的吗? 我该如何解决?

int _tmain(int argc, char* argv[])
{
    int a = atoi(argv[1]);
}

它应该转换整个以 NUL 结尾的字符串:

#include <iostream>
#include <stdlib.h>
int main() {
    std::cout << atoi("15");
}

结果:

15

从 _tmain 更改为 main 解决了这个问题。