C 语言中的 atoi
函数用于将字符串转换为整数。其原型定义在 <stdlib.h>
头文件中。atoi
是 “ASCII to Integer” 的缩写,具体实现如下:
#include <stdlib.h>
int atoi(const char *str);
使用示例
#include <stdio.h>
#include <stdlib.h>
int main() {
const char *str = "12345";
int num = atoi(str);
printf("字符串 %s 转换成整数是 %dn", str, num);
return 0;
}
注意事项
-
输入字符串格式:
atoi
函数会忽略字符串开头的空白字符(如空格、制表符等)。- 可以处理正负号,例如 “-123″。
- 一旦遇到非数字字符,转换将停止,并返回已经转换的数字部分。
-
错误处理:
atoi
不会进行错误检测,例如对于非数字字符的字符串,它可能返回 0 或其他不确定的值。- 如果需要更严格的错误处理,可以使用
strtol
或strtoll
这类函数。
例外情况
#include <stdio.h>
#include <stdlib.h>
int main() {
const char *invalid_str = "abc123";
int num = atoi(invalid_str);
printf("字符串 %s 转换成整数是 %dn", invalid_str, num); // 输出为0,因为字符串不以数字开始
return 0;
}
在这种情况下,由于 invalid_str
以非数字字符开始,atoi
将返回 0。
总结,atoi
是一个简单但功能有限的字符串到整数转换函数。如果需要更安全的转换,应考虑使用 strtol
或 strtoll
等函数。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/191581.html