Argv参数转换

时间:2012-10-06 17:16:45

标签: command-line parameters argv argc

  

可能重复:
  Converting string to integer C

我想将从命令argv [1]收到的数字转换为“int”。我知道argv存储为字符串,但是如何从中获取整数值。假设argv [1] = 10。

2 个答案:

答案 0 :(得分:2)

您可以使用C标准库中的atoi()函数:

http://en.cppreference.com/w/cpp/string/byte/atoi

答案 1 :(得分:1)

POSIX C库包含将字符串转换为实际数值的不同函数。以下是一些例子:

long some_long = strtol(argv[1], NULL, 10);
long long some_longlong = strtoll(argv[1], NULL, 10);
unsigned long some_unsigned_long = strtoul(argv[1], NULL, 10);
unsigned long long some_unsigned_longlong = strtoull(argv[1], NULL, 10);

甚至还有转换为浮点值的函数:

double some_double = strtod(argv[1], NULL);
float some_float = strtof(argv[1], NULL);
long double some_long_double = strtold(argv[1], NULL);

有待进一步参考,read here以及更多地方(strtoul.html和strtod.html在同一网页上)。