首页 > 编程笔记
C语言atoi():将字符串转换为整数
atoi() 是 C语言的一个标准库函数,定义在
atoi() 函数用于将字符串转换为整数。
具体来讲,atoi() 函数首先会丢弃尽可能多的空白字符,直至找到第一个非空白字符,然后从该字符开始,识别 "+"、"-" 以及 0-9 之间的十进制数,最后将它们转换成整数。如果构成整数的后面还有其它字符,这些字符将会被忽略。
atoi() 函数的原型如下:
如果由于 str 为空或者 str 字符串无法转换为整数,函数返回 0。
如果字符串表示的值超出了 int 类型所能表示的整数范围,函数返回的数值是无意义的(垃圾值)。
【实例】以下的 C语言代码演示了 atoi() 函数的功能和用法。
<stdlib.h>
头文件中。atoi() 函数用于将字符串转换为整数。
具体来讲,atoi() 函数首先会丢弃尽可能多的空白字符,直至找到第一个非空白字符,然后从该字符开始,识别 "+"、"-" 以及 0-9 之间的十进制数,最后将它们转换成整数。如果构成整数的后面还有其它字符,这些字符将会被忽略。
atoi() 函数的原型如下:
int atoi(const char *str);
参数
str:指向要转换的字符串。返回值
如果转换成功,函数返回转换后的整数。如果由于 str 为空或者 str 字符串无法转换为整数,函数返回 0。
如果字符串表示的值超出了 int 类型所能表示的整数范围,函数返回的数值是无意义的(垃圾值)。
【实例】以下的 C语言代码演示了 atoi() 函数的功能和用法。
#include <stdio.h> #include <stdlib.h> int main() { const char *str1 = "123"; const char *str2 = " -123abc12"; // 有效字符是 -123 const char *str3 = "abc"; // 无效的整数表示 int value1 = atoi(str1); int value2 = atoi(str2); int value3 = atoi(str3); // 未定义的结果,通常为0 printf("Value of str1: %d\n", value1); printf("Value of str2: %d\n", value2); printf("Value of str3: %d\n", value3); // 可能打印0 return 0; }上述代码将转换三个字符串,前两个包含有效的整数表示,最后一个包含无效表示。通常的结果为:
Value of str1: 123
Value of str2: -123
Value of str3: 0