在学习数据结构经常碰到各种数据间转换的例程,就想c的库里面有没有现有的函数,用的时候直接调用就好,一查果然有:整型转字符串itoa(); 字符串转整型atoi();用的时候需要添加头文件#include<stdlib.h>。
itoa();
功能:将整形(int)转换为字符串(char),十进制转任意进制,以字符形式输出(转换后的结果以字符形式输出)
使用方式:首先要申明头文件 stdlib.h
char* _itoa(int value,char* string,int radix);
其中 value为需要转换的整型数,string 为转换之后的字符串所保存的初始地址,radix为要转换的整型数的进制(2,8,10,16);
atoi();
功能:将字符串(char)转换为整形(int)。
#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[100];//用来存放转化后的字符串,大小不能小于转化后的总的字符个数
/*
//把整型16转换为8进制,存在str里面,存在str里面的是字符(其中16可改为其他想要转换的整型数字,如25,40...),(8可改为其他想要转换的进制,如2,4,16...)
itoa(16,str,8);
//输出转换后的结果(此时还是字符),以字符形式输出
printf("%s\n",str);
//如果要把转换后的字符当成数据来计算使用,调用atoi();这里就不多声明存储变量了,直接打印
printf("%d\n",atoi(str));
*/
itoa(16,str,2);
printf("输入形式为 itoa(16,str,2);时\n");
printf("%s\n",str);
printf("%d\n",atoi(str));
itoa(16,str,8);
printf("输入形式为 itoa(16,str,8);时\n");
printf("%s\n",str);
printf("%d\n",atoi(str));
return 0;
}
编译运行结果: