1. 程式人生 > >C語言---整型字串轉換

C語言---整型字串轉換

C語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串。以下是用itoa()函式將整數轉 換為字串的一個例子:

    # include <stdio.h>
    # include <stdlib.h>

    void main (void)
    {
    int num = 100;
    char str[25];
    itoa(num, str, 10);
    printf("The number ’num’ is %d and the string ’str’ is %s. /n" ,
    num, str);
    }

    itoa()

函式有3個引數:第一個引數是要轉換的數字,第二個引數是要寫入轉換結果的目標字串,第三個引數是轉移數字時所用 的基數。在上例中,轉換基數為10。10:十進位制;2:二進位制...
    itoa並不是一個標準的C函式,它是Windows特有的,如果要寫跨平臺的程式,請用sprintf。
    是Windows平臺下擴充套件的,標準庫中有sprintf,功能比這個更強,用法跟printf類似:

    char str[255];
    sprintf(str, "%x", 100); //將100轉為16進製表示的字串。

函式名: atol

  功 能: 把字串轉換成長整型數

  用 法: long atol(const char *nptr);

  程式例:

#include <stdlib.h>

  #include <stdio.h>

  int main(void)

  {

  long l;

  char *str = "98765432";

  l = atol(str); /* 原來為l = atol(lstr); */

  printf("string = %s integer = %ld/n", str, l);

  return(0);

  }

  atol(將字串轉換成長整型數)

  相關函式 atof,atoi,strtod,strtol,strtoul

  表頭檔案 #include<stdlib.h>

  定義函式 long atol(const char *nptr);

  函式說明 atol()會掃描引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('/0')才結束轉換,並將結果返回。

  返回值 返回轉換後的長整型數。

  附加說明 atol()與使用strtol(nptr,(char**)NULL,10);結果相同。

  範例 /*將字串a與字串b轉換成數字後相加*/

  #include<stdlib.h>

  main()

  {

  char a[]=”1000000000”;

  char b[]=” 234567890”;

  long c;

  c=atol(a)+atol(b);

  printf(“c=%d/n”,c);

  }

  執行 c=1234567890