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() 将无符号长整型值转换为字符串

posted @   泥烟  阅读(305)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示