
Linux 下的 atoi 函数是C 语言中文本转换为 int 类型数字的最简单函数,其中字母 a 表示 ascii to integer(从 ASCII 码转换为整数)。它从参数 nptr 所指向的字符串中取得一个整数值,根据该字符串中的内容,atoi 函数可以识别出十进制,八进制或十六进制的数值表示,结果是以 int 型返回。
具体的int型返回值规则如下:
1.如果 nptr 所指向的字符串为空字符串或没有可转换的值,函数返回默认值 0;
2.如果 nptr 所指的的字符串表示的值不能被存储在long变量中,返回 0 或者 INT_MAX 当返回值大于 INT_MAX;
3.如果 nptr 所指向的字符串表示的值可以被存储在 long 类型变量中,函数可以返回转换后的值。
atoi 函数对字符串转换成整数的处理非常强大,仅需传入字符串参数,就可以将字符串转换为整数型。它还支持将八进制、十六进制的字符串转换为 int 类型,其原理简单解释如下:所转换的字符串从头开始依次扫描,若遇到符号,先判断看某个字符是否是有效字符(数字或字母abcdef),如果是,在统计得到有效数字后,根据进制(10 、 8 、 16 )计算出它的值,最后返回十进制结果。
下面是 atoi 函数的常见用法:
“`
#include
#include
int main()
{
int num;
char cnum[30]=”1234″; /* 把字符串”1234″ 转换为数字 */
num = atoi(cnum);
printf(” num is %d\n”,num);
return 0;
}
“`
执行上面代码,将会输出: num is 1234 。
从上面的讲述我们可以看出 atoi函数的强大,它会将字符串中的整数转换为int类型的变量,比如 “1234”转换为1234 的int 类型变量。 此外,它还可以识别将8进制和16进制的字符串转换为整数类型变量。因此 atoi 函数已经展示出了它实现文本转换为 int 类型数字的强大威力。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/195868.html<