zoukankan      html  css  js  c++  java
  • 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
    ",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
    ",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:
    ");
     9     scanf("%d",&n);
    10     printf("the string : 
    ");
    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]='';
    25     for(j=i; j>=0; j--) //生成的数字是逆序的,所以要逆序输出
    26         printf("%c",s[j]);
    27 }

    是int 转string类型的一个函数

    itoa() 将长(整)整型值转换为字符串
    ultoa() 将无符号长整型值转换为字符串

    天涯犹在,不诉薄凉。
  • 相关阅读:
    ES查询直方图聚合区间结果min越界问题
    yarn命令操作
    Hve on Spark left join的hashTable问题
    基于HUE可视化的大数据权限管理
    Android 制作圆角阴影的卡片
    Android 解决问题“Failed to resolve: com.android.support:design:26.1.0”
    Android 修改虚拟键栏背景颜色
    ArrayList的传值问题
    swift 网络请求中含有特殊字符的解决方案
    Android适配器
  • 原文地址:https://www.cnblogs.com/Knight02/p/14247505.html
Copyright © 2011-2022 走看看