函数初探Linux atoi函数(linuxatoi)
Linux atoi函数是Linux操作系统中非常常见的一种C语言字符串转化为整型函数,主要把字符串转化成int型或long型,在C语言里atoi()函数可以将一个字符串转化为一个整数。
该函数可以将字符串转换成数字,但不会做任何错误检查,因此函数只应该用于能够确定传递给它的参数是一个有效数字时使用。
通常情况下,Linux atoi函数的一般使用形式如下:
int atoi (const char *str);
该函数应用一个字符串参数表示的数字,字符串参数可能以空格开头,也可能由EOI(end of input,输入结束)组成,函数在遇到第一个非空格或end of input 后马上返回,只有字符串参数为NULL时,该函数返回0。
例如,以下程序读取一个字符串,将它转化为整型,最后将转化后的值输出:
#include
#include
int main()
{
char str[30];
int num;
printf(“Enter a string: “);
scanf(“%s”, str);
num = atoi(str);
printf(“The number is: %d\n”, num);
return 0;
}
运行结果:
Enter a string: 123
The number is: 123
Linux atoi函数除了上述功能以外,还有一些可以在特定环境下使用的其他函数,以下是另一种使用Linux atoi的示例,它将字符串按指定格式转换成日期:
#include
#include
#include
#include
int main()
{
char str[30];
int year, month, day;
printf(“Enter a string in the form of DD/MM/YYYY: “);
scanf(“%s”, str);
sscanf(str, “%d/%d/%d”, &day, &month, &year);
struct tm date = {0};
date.tm_year = atoi(year) – 1900;
date.tm_mon = atoi(month) – 1;
date.tm_mday = atoi(day);
mktime(&date);
printf(“The date is: %s”, asctime(&date));
return 0;
}
运行结果:
Enter a string in the form of DD/MM/YYYY: 18/05/2020
The date is: Sun May 17 21:45:00 2020
可以看出,Linux atoi函数可以方便快捷地将字符串转化为整型,在Linux中有着极其重要的作用。