atoi只返回char *参数的第一个数字

时间:2013-10-07 19:48:51

标签: c++ c atoi

当使用参数15运行我的程序时,atoi返回1. Atoi仅返回第一个数字。这应该发生吗?我该怎样绕过它?

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

2 个答案:

答案 0 :(得分:0)

它应该转换整个NUL终止的字符串:

#include <iostream>
#include <stdlib.h>

int main() {
    std::cout << atoi("15");
}

结果:

15

答案 1 :(得分:0)

从_tmain更改为main修复了问题。