将数字字符字符串转换为数值是C编程中的常见任务,通常用于防止运行时错误。
读取字符串比预期的数值更不容易出错,只会让用户意外地键入“o”而不是“0”(零)。
stdio.h库包含以下函数,用于将字符串转换为数字:
int atoi(str)代表ASCII到integer。将str转换为等效的int值。如果第一个字符不是数字或没有遇到数字,则返回0。
double atof(str)表示要浮点数ASCII。将str转换为等效的double值。如果第一个字符不是数字或没有遇到数字,则返回0.0。
long int atol(str)表示ASCII到long int。将str转换为等效的长整数值。如果第一个字符不是数字或没有遇到数字,则返回0。
下面的程序演示atoi。
#include <stdio.h> int main() { char input[10]; int num; printf("输入个数字: "); gets(input); num = atoi(input); printf("%d", num); return 0; }
注意,atoi()缺少错误处理,如果您想确保正确的错误处理完成,建议使用strtol()。