【发布时间】:2012-02-02 19:37:25
【问题描述】:
我正在编写一个代码,我需要将一个字符串解析为“long long int”
我以前在从 string 更改为 int 时使用 atoi,但我认为它仍然不起作用。我现在可以使用什么?
--谢谢
【问题讨论】:
-
您正在寻找的短语是“将字符串解析为(长长)整数”。把“改变”留给政客:-)
我正在编写一个代码,我需要将一个字符串解析为“long long int”
我以前在从 string 更改为 int 时使用 atoi,但我认为它仍然不起作用。我现在可以使用什么?
--谢谢
【问题讨论】:
使用strtoll() (man page):
#include <stdlib.h>
long long int n = strtoll(s, NULL, 0);
(仅在 C99 和 C11 中可用,在 C89 中不可用。)第三个参数是转换的基数,0 表示“自动”,即根据通常情况选择十进制、八进制或十六进制约定(10、010、0x10)。请注意这一点,以防您的字符串以 0 开头。
【讨论】: