itoa()函数和atoi()函数[c语言中数与字符之间的转化]
示例:
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int a=100,d=999; 6 char b[10]="1000"; 7 char c[10]="123"; 8 9 itoa(d,c,10); 10 printf("%d\n",atoi(b)-a); 11 printf("%s",c); 12 13 return 0; 14 }
结果如下:
900
999
itoa()函数有3个参数:itoa(要转换的数字,要写入转换结果的目标字符串,转移数字时所用的基数)。在上例中,转换基数为10。10:十进制;2:二进制...
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。
一、atoi()——把字符串转换成整型数
示例程序:
#include <ctype.h> #include <stdio.h> int atoi (char s[]); int main(void ) { char s[100]; gets(s); printf("integer=%d\n",atoi(s)); return 0; } int atoi (char s[]) { int i,n,sign; for(i=0; isspace(s[i]); i++) //跳过空白符; sign=(s[i]=='-')?-1:1; if(s[i]=='+'||s[i]==' -')//跳过符号 i++; for(n=0; isdigit(s[i]); i++) n=10*n+(s[i]-'0');//将数字字符转换成整形数字 return sign *n; }
二、itoa()——把一整数转换为字符串
示例程序:
1 #include <ctype.h> 2 #include <stdio.h> 3 void itoa (int n,char s[]); 4 //atoi 函数:将s转换为整形数 5 int main(void ) { 6 int n; 7 char s[100]; 8 printf("Input n:\n"); 9 scanf("%d",&n); 10 printf("the string : \n"); 11 itoa (n,s); 12 return 0; 13 } 14 void itoa (int n,char s[]) { 15 int i,j,sign; 16 if((sign=n)<0)//记录符号 17 n=-n;//使n成为正数 18 i=0; 19 do { 20 s[i++]=n%10+'0';//取下一个数字 21 } while ((n/=10)>0); //删除该数字 22 if(sign<0) 23 s[i++]='-'; 24 s[i]='\0'; 25 for(j=i; j>=0; j--) //生成的数字是逆序的,所以要逆序输出 26 printf("%c",s[j]); 27 }
是int 转string类型的一个函数
itoa() 将长(整)整型值转换为字符串
ultoa() 将无符号长整型值转换为字符串
本文来自博客园,作者:泥烟,CSDN同名, 转载请注明原文链接:https://www.cnblogs.com/Knight02/p/14247505.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY