【发布时间】:2016-12-01 04:29:11
【问题描述】:
我想问它怎么不能从字符串中获取整数
例如,这是我的代码:
int main() {
char str[] = "ababbababa-1998";
int nr = atoi(str);
printf("%d\n", nr);
return (EXIT_SUCCESS);
}
运行时打印出0而不是1998,我该如何解决?
【问题讨论】:
-
你可以用ASCII码来计算
-
不,我想将 1998 放入 nr 变量,而不是获取单个字符并进行转换
-
你可以将所有的数字存储在一个 char[] 中,然后将其转换为整数。
-
如果字符串格式是固定的(比如,“some_string-sume_number”),那么你可以使用 sscanf(string, "%s-%d", temp_str, &nr));
-
可以,但可能会导致格式错误