在编程时有时需要将字符串转化为整数,或将整数转换为字符串,如将字符串表示的IP地址转化为十进制整数,就需要用到字符串与整数转化的函数。下面介绍两种字符串与整数的转换函数。
- atoi()函数
此函数用于将一个数字字符串转换为十进制数,其函数原形如下:
int atoi(const char* str);
atoi()函数接收一个字符串作为函数,返回转换后的十进制数。如果转换失败,则返回0.需要注意的是,atoi()函数的声明位于stdlib.h文件中,因此需要使用include指令引用头文件stdlib.h
- itoa()函数
VS还提供了一个不在C语言标准中的itoa函数,用来将整数转化为不同进制下的字符串,其函数原形如下:
char* itoa(int val.char* dst,int radix);
第一个参数val表示的是带转换的数,第二个参数表示的是目标字符数组,第三个是要转换的进制。
- sprintf()函数
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。
sprintf()函数和printf()函数都是变参函数,其函数原形如下所示
int sprintf(char *buffer,const char*format,[argument]...);
第一个参数是目标字符数组,第二个参数表示格式化字符串,第三个表示需要转换的整数。
例如:把整数100打印成一个字符串,保存在buf中,代码如下:
char buf[10];
sprintf(buf,"%d",100);
从上述代码可以看出,sprintf函数和printf函数的用法基本相似,但是printf函数的输出目标是屏幕,而sprintf函数的输出目标是指定的字符串数组中。
常用的字符串处理函数