C語言字串轉換小結

2021-06-16 14:19:06 字數 3814 閱讀 7558

atof(const char *nptr)  將字串轉換為浮點數 

atof()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時('\0')才結束轉換

可包含正負號、小數點或e(e)來表示指數部分,如123.456或123e-2

atoi(將字串轉換成整型數)

atoi()與使用strtol(nptr,(char**)null,10);結果相同

atol(將字串轉換成長整型數) atol()與使用strtol(nptr,(char**)null,10);結果相同。

gcvt(將浮點型數轉換為字串,取四捨五入)

表頭檔案

#include

定義函式

char *gcvt(double number,size_t ndigits,char *buf);

strtod(將字串轉換成浮點數)

相關函式

atoi,atol,strtod,strtol,strtoul

表頭檔案

#include

定義函式

double strtod(const char *nptr,char **endptr);

函式說明

strtod()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,到出現非數字或字串結束時('\0')才結束轉換,並將結果返回。若endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr傳回。引數nptr字串可包含正負號、小數點或e(e)來表示指數部分。如123.456或123e-2。

返回值

返回轉換後的浮點型數。

附加說明

參考atof()。

範例

/*將字串a,b,c 分別採用10,2,16 進製轉換成數字*/

#include

mian()

執行

a=1000000000

b=512

c=65535

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

相關函式

atof,atoi,atol,strtod,strtoul

表頭檔案

#include

定義函式

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指定的轉換字串超出合法範圍。

範例

/* 將字串a,b,c 分別採用10,2,16進製制轉換成數字*/

#include

main()

執行

a=1000000000

b=512

c=65535

strtoul(將字串轉換成無符號長整型數)

相關函式

atof,atoi,atol,strtod,strtol

表頭檔案

#include

定義函式

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()

toascii(將整型數轉換成合法的ascii 碼字元)

相關函式

isascii,toupper,tolower

表頭檔案

#include

定義函式

int toascii(int c)

函式說明

toascii()會將引數c轉換成7位的unsigned char值,第八位則會被清除,此字元即會被轉成ascii碼字元。

返回值

將轉換成功的ascii碼字元值返回。

範例

#include

main()

執行

before toascii() : a value =217()

after toascii() : a value =89(y)

tolower(將大寫字母轉換成小寫字母)

相關函式

isalpha,toupper

表頭檔案

#include

定義函式

int tolower(int c);

函式說明

若引數c為大寫字母則將該對應的小寫字母返回。

返回值

返回轉換後的小寫字母,若不須轉換則將引數c值返回。

附加說明

範例 /* 將s字串內的大寫字母轉換成小寫字母*/

#include

main()

{char s=」abcdefgh12345;!#$」;

int i;

printf(「before tolower() : %s\n」,s);

for(i=0;i

執行

before tolower() : abcdefgh12345;!#$

after tolower() : abcdefgh12345;!#$

toupper(將小寫字母轉換成大寫字母)

相關函式

isalpha,tolower

表頭檔案

#include

定義函式

int toupper(int c);

函式說明

若引數c為小寫字母則將該對映的大寫字母返回。

返回值

返回轉換後的大寫字母,若不須轉換則將引數c值返回。

附加說明

範例 /* 將s字串內的小寫字母轉換成大寫字母*/

#include

main()

{char s=」abcdefgh12345;!#$」;

int i;

printf(「before toupper() : %s\n」,s);

for(i=0;i

執行

before toupper() : abcdefgh12345;!#$

after toupper() : abcdefgh12345;!#$

C語言字串小結

標頭檔案 string.h 1 strlen cpp view plain copy char a hello int len len strlen a 5 2 strcpy 字串複製 不能選長度,只能整個字串複製 cpp view plain copy char a strcpy a,ye a y...

C語言 整型字串轉換

c語言提供了幾個標準庫函式,可以將任意型別 整型 長整型 浮點型等 的數字轉換為字串。以下是用itoa 函式將整數轉 換為字串的乙個例子 include include void main void itoa 函式有3個引數 第乙個引數是要轉換的數字,第二個引數是要寫入轉換結果的目標字串,第三個引數...

C語言 整型字串轉換

c語言提供了幾個標準庫函式,可以將任意型別 整型 長整型 浮點型等 的數字轉換為字串。以下是用itoa 函式將整數轉 換為字串的乙個例子 include include void main void itoa 函式有3個引數 第乙個引數是要轉換的數字,第二個引數是要寫入轉換結果的目標字串,第三個引數...