国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C語言字符串和數字轉換函數大全

2019-11-08 02:31:28
字體:
來源:轉載
供稿:網友

atof(將字符串轉換成浮點型數)                      atoi(將字符串轉換成整型數)                 atol(將字符串轉換成長整數數)                        

strtod(將字符串轉換成浮點數)                      strtol(將字符串轉換成長整型數)            strtoul(將字符串轉換成無符號長整型數)toascii(將整型數轉換成合法的ASCII 碼字符)   toupper(將小寫字母轉換成大寫字母)     tolower(將大寫字母轉換成小寫字母)

1、atof(將字符串轉換成浮點型數)     表頭文件:   #include <stdlib.h>     定義函數:   double atof(const char *nptr);     函數說明:   atof()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字符串結束時                       ('/0')才結束轉換,并將結果返回。參數nptr字符串可包含正負號、小數點或E(e)來表示指數部分,如123.456或123e-2。     返回值:      返回轉換后的浮點型數。     附加說明:   atof()與使用strtod(nptr,(char**)NULL)結果相同。

     范例:

                

[c-sharp] view plain copy/* 將字符串a 與字符串b轉換成數字后相加*/  #include<stdlib.h>  void main()  {      char *a = "-100.23";      char *b = "200e-2";      float c;      c = atof(a) + atof(b);      PRintf("c = %.2f/n", c);  }     

 

                 運行結果 c = -98.23

 

2、atoi(將字符串轉換成整型數)     表頭文件: #include<stdlib.h>     定義函數: int atoi(const char *nptr);     函數說明: atoi()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字符串結束時                      ('/0')才結束轉換,并將結果返回。     返回值:     返回轉換后的整型數。     附加說明: atoi()與使用strtol(nptr,(char**)NULL,10);結果相同。     范例:

               

[cpp] view plain copy/* 將字符串a 與字符串b轉換成數字后相加*/  #include<stdlib.h>  void mian()  {      char a[] = "-100";      char b[] = "456";      int c;      c = atoi(a) + atoi(b);      printf("c = %d/n",c);  }  

               運行結果 c = 356

3、atol(將字符串轉換成長整型數)     表頭文件: #include<stdlib.h>     定義函數: long atol(const char *nptr);     函數說明: atol()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字符串結束時                     ('/0')才結束轉換,并將結果返回。     返回值:    返回轉換后的長整型數。     附加說明: atol()與使用strtol(nptr,(char**)NULL,10);結果相同。     范例:

                   

[cpp] view plain copy /*將字符串a與字符串b轉換成數字后相加*/  #include<stdlib.h>  void main()  {      char a[] ="1000000000";      char b[] = "234567890";      long c;      c = atol(a) + atol(b);      printf("c = %d/n", c);  }  

                    運行結果 c = 1234567890

4、gcvt(將浮點型數轉換為字符串,取四舍五入)     表頭文件: #include<stdlib.h>     定義函數: char *gcvt(double number,size_t ndigits,char *buf);     函數說明: gcvt()用來將參數number轉換成ASCII碼字符串,參數ndigits表示顯示的位數。gcvt()與ecvt()和fcvt()不同的地方在

                      于,gcvt()所轉換后的字符串包含小數點或正負符號。若轉換成功,轉換后的字符串會放在參數buf指針所指的空間。     返回值:     返回一字符串指針,此地址即為buf指針。      范例:

                    

[cpp] view plain copy#include<stdlib.h>  void main()  {      double a = 123.45;      double b = -1234.56;      char *ptr;      int decpt,sign;      gcvt(a, 5, ptr);      printf("a value = %s/n", ptr);      ptr = gcvt(b,6,ptr);      printf("b value = %s/n", ptr);  }                       運行結果 a value = 123.45                                  b value = -1234.56

5、strtod(將字符串轉換成浮點數)     表頭文件: #include<stdlib.h>     定義函數: double strtod(const char *nptr,char **endptr);     函數說明: strtod()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開始做轉換,到出現非數字或字符串結束時                      ('/0')才結束轉換,并將結果返回。若endptr不為NULL,則會將遇到不合條件而終止的nptr中的字符指針由endptr傳回參數

                      nptr字符串可包含正負號、小數點或E(e)來表示指數部分。如123.456或123e-2。     返回值:     返回轉換后的浮點型數。     附加說明:  參考atof()。     范例:

                     

[cpp] view plain copy/*將字符串a,b,c 分別采用10,2,16 進制轉換成數字*/  #include<stdlib.h>  void mian()  {      char a[] = "1000000000";      char b[] = "1000000000";      char c[] = "ffff";      printf("a=%d/n", strtod(a,NULL, 10));      printf("b=%d/n", strtod(b,NULL, 2));      printf("c=%d/n", strtod(c,NULL, 16));  }  

                      運行結果 a = 1000000000                                    b = 512                                    c = 65535

6、strtol(將字符串轉換成長整型數)     表頭文件: #include<stdlib.h>     定義函數:  long int strtol(const char *nptr,char **endptr,int base);     函數說明: strtol()會將參數nptr字符串根據參數base來轉換成長整型數。參數base范圍從2至36,或0。參數base代表采用的進制方

                      式,如base值為10則采用10進制,若base值為16則采用16進制等。當base值為0時則是采用10進制做轉換,但遇如'0x'前

                      置字符則會使用16進制做轉換。一開始strtol()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開

                      始做轉換,再遇到非數字或字符串結束時('/0')結束轉換,并將結果返回。若參數endptr不為NULL,則會將遇到不合條件而終

                      止的nptr中的字符指針由endptr返回。

      返回值:    返回轉換后的長整型數,否則返回ERANGE并將錯誤代碼存入errno中。      附加說明: ERANGE指定的轉換字符串超出合法范圍。      范例:

                     

[cpp] view plain copy/* 將字符串a,b,c 分別采用10,2,16進制轉換成數字*/  #include<stdlib.h>  void main()  {      char a[] = "1000000000";      char b[] = "1000000000";      char c[] = "ffff";      printf("a = %d/n", strtol(a, NULL, 10));      printf("b = %d/n", strtol(b, NULL, 2));      printf("c = %d/n", strtol(c, NULL, 16));  }  

                      運行結果 a = 1000000000                                    b = 512                                    c = 65535

 

7、strtoul(將字符串轉換成無符號長整型數)     表頭文件: #include<stdlib.h>     定義函數: unsigned long int strtoul(const char *nptr,char**endptr,int base);

     函數說明: strtoul()會將參數nptr字符串根據參數base來轉換成無符號的長整型數。參數base范圍從2至36,或0。參數base代表采

                     用的進制方式,如base值為10則采用10進制,若base值為16則采用16進制數等。當base值為0時則是采用10進制做轉換,

                     但遇到如'0x'前置字符則會使用16進制做轉換。一開始strtoul()會掃描參數nptr字符串,跳過前面的空格字符串,直到遇上數

                     字或正負符號才開始做轉換,再遇到非數字或字符串結束時('/0')結束轉換,并將結果返回。若參數endptr不為NULL,則會將遇

                     到不合條件而終止的nptr中的字符 指針由endptr返回。

     返回值:    返回轉換后的長整型數,否則返回ERANGE并將錯誤代碼存入errno中。     附加說明: ERANGE指定的轉換字符串超出合法范圍。

     范例: 參考strtol()    

8、toascii(將整型數轉換成合法的ASCII 碼字符)     表頭文件: #include<stdlib.h>     定義函數: int toascii(int c)     函數說明: toascii()會將參數c轉換成7位的unsigned char值,第八位則會被清除,此字符即會被轉成ASCII碼字符。     返回值:    將轉換成功的ASCII碼字符值返回。     范例:

                    

[cpp] view plain copy#include<stdlib.h>  void main()  {      int a = 217;      char b;      printf("before toascii () : a value = %d(%c)/n", a, a);      b = toascii(a);      printf("after toascii() : a value =%d(%c)/n", b, b);  }                       運行結果  before toascii() : a value =217()                                  after toascii() : a value = 89(Y)

9、tolower(將大寫字母轉換成小寫字母)     表頭文件: #include<ctype.h>     定義函數: int tolower(int c);     函數說明: 若參數c為大寫字母則將該對應的小寫字母返回。     返回值:    返回轉換后的小寫字母,若不須轉換則將參數c值返回。     范例:

                    

[cpp] view plain copy/* 將s字符串內的大寫字母轉換成小寫字母*/  #include<ctype.h>  void main()  {      char s[] = "aBcDeFgH12345;!#$";      int i;      printf("before tolower() : %s/n", s);      for (i = 0; i < sizeof(s); i++)        {           s[i] = tolower(s[i]);        }      printf("after tolower() : %s/n", s);  }  

                     運行結果 before tolower() : aBcDeFgH12345;!#$                                  after tolower() : abcdefgh12345;!#$

10、toupper(將小寫字母轉換成大寫字母)       表頭文件: #include<ctype.h>       定義函數: int toupper(int c);       函數說明: 若參數c為小寫字母則將該對映的大寫字母返回。       返回值:    返回轉換后的大寫字母,若不須轉換則將參數c值返回。       范例:

                      

[cpp] view plain copy /* 將s字符串內的小寫字母轉換成大寫字母*/  #include<ctype.h>  void main()  {      char s[]=”aBcDeFgH12345;!#$”;      int i;      printf("before toupper() : %s/n", s);      for (i = 0; i < sizeof(s); i++)        {          s[i] = toupper(s[i]);        }      printf("after toupper() : %s/n", s);  }  

                       運行結果 before toupper() : aBcDeFgH12345;!#$                                    after toupper() : ABCDEFGH12345;!#$

C語言中最常用標準庫函數

getchar(),getch()和getche()


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹巴县| 盐池县| 芜湖市| 房山区| 黑水县| 洞头县| 漾濞| 江门市| 英吉沙县| 仙桃市| 南澳县| 东兴市| 南川市| 长葛市| 万年县| 福安市| 改则县| 上高县| 湾仔区| 磐安县| 庄河市| 长泰县| 龙里县| 津南区| 周宁县| 南京市| 卢湾区| 石台县| 清涧县| 通渭县| 株洲县| 永善县| 曲水县| 大姚县| 凌海市| 保康县| 遂宁市| 宣汉县| 张家港市| 凌海市| 荥经县|