C語言數字與字符串轉換 atoi()函數、itoa()函數、sprintf()函數


在編程中經常需要用到數字與字符串的轉換,下面就總結一下。

1.atoi()

  C/C++標准庫函數,用於字符串到整數的轉換。

  函數原型:int atoi (const char * str);

1 #include <stdio.h>
2 #include <stdlib.h>
3 int main ()
4 {
5     char *numchars="1234";
6     int num=atoi(numchars);
7     printf("%d\n",num);
8     return 0;
9 }

  另外C/C++還提供的標准庫函數有:

  (1)long int atol ( const char * str );  

  (2)double atof (const char* str);

2.itoa()

  不是C/C++標准庫函數,用於整數到字符串的轉換。

  函數原型:char *itoa(int value, char *string, int radix);

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main ()
 4 {
 5     int num=1234;
 6     int radix=8;
 7     char res[20];
 8     itoa(num,res,radix);
 9     printf("%d(10)=%s(%d)\n",num,res,radix);    //輸出:1234(10)=2322(8)
10     return 0;
11 }

3.sprintf()

  C/C++標准庫函數,可以用於整數到字符串的轉換。

  sprintf:Write formatted data to string。

  sprintf作用是將printf的輸出結果保存在字符串數組中。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main ()
 4 {
 5     int num=1234;
 6     char res[20];
 7     sprintf(res,"%0o",num);
 8     printf("%s\n",res); //8進制輸出:2322
 9 
10     sprintf(res,"%0x",num);
11     printf("%s\n",res); //16進制輸出:4d2
12     return 0;
13 }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM