itoa头文件:
#include <stdlib.h>
itoa (新版本vs要使用_itoa_s或_itoa) 用于把一个整数 转换到char数组
ltoa (新版本vs要使用_ltoa_s或_ltoa) 用于把一个long长整数 转换到char数组
atoi 用于把一个字符串的数值 转换为int
例1:打印输出自身的进程id
#include <stdio.h> #include <Windows.h> int main(){ DWORD id=GetCurrentProcessId();//取自身进程id char idstr[25];//定义一个足够容纳long字符串的字符数组 _ltoa_s(id, idstr, 10); //使用ltoa进行转换 printf(idstr); //打印输出 getchar(); return 0; }
例2:
#include <stdio.h> #include <Windows.h> #include <stdlib.h> //_itoa_s必须要包含的头文件 char* 到文本(int number){ static char str[10]; //static 静态变量 防止函数结束 指针被释放 返回数据也被释放 _itoa_s(number, str, 10);// 参数一:要被转换的数值 参数二:char数组 参数三:进制,一般为10,大小应在2-36之间。 return str; } int main(){ //到文本 int a = 123456; char str10[20];//长度要足够容纳转换后的字符串, char str2[50];//长度要足够容纳转换后的字符串 _itoa_s(a, str10, 10);//表示把整数a转换为10进制的char数组+一个'\0',结果放到str10里 _itoa_s(15, str2, 2);//表示把整数a转换为10进制的char数组+一个'\0',结果放到str10里 printf("str10的10进制字符串为%s\n", str10); printf("str2的2进制字符串为%s\n", str2); printf("str10的占用大小为%d,是一个%d位数\n", sizeof(str10), strlen(str10)); //取文本长度 取字符数组长度 char* sss = "abc你好"; printf("'abc你好'的长度为%d\n", strlen(sss));//输出结果为7 //取后n位数 char* str3 = "789456"; int x=atoi(str3+2);//因为指针往右偏移了2位,截至到'\0'结束 所以也可以用它来取整数型的数值后n位数 printf("789456的后4位数为%d", x);//输出结果为:9456 getchar(); return 0; }