c語言轉(zhuǎn)字符串函數(shù) c語言中將數(shù)字轉(zhuǎn)換為字符串的函數(shù)

C語言中將整形變量轉(zhuǎn)換成字符串的函數(shù)是什么?

int

成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),成都小程序開發(fā),十載建站對(duì)玻璃隔斷等多個(gè)方面,擁有多年的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。

iValue;//整型數(shù)

char

sz[10];//字符串

sprintf(sz,

"%d",

iValue);//這句需要頭文件#include

stdio.h

/*或者*/

itoa(iValue,

sz,

10);

//這句需要頭文件#include

ctype.h

sprintf類似于printf,printf比sprintf少第一個(gè)參數(shù),就是直接在輸出界面輸出相應(yīng)的東西,而sprintf就是將你要輸出的東西按相應(yīng)格式存放到第一個(gè)參數(shù)的字符串中。

itoa是直接將整型數(shù)轉(zhuǎn)化成字符串

用c語言怎么將整數(shù)轉(zhuǎn)換成字符串

1.int/float to string/array:

C語言提供了幾個(gè)標(biāo)準(zhǔn)庫函數(shù),可以將任意類型(整型、長(zhǎng)整型、浮點(diǎn)型等)的數(shù)字轉(zhuǎn)換為字符串,下面列舉了各函數(shù)的方法及其說明。

● itoa():將整型值轉(zhuǎn)換為字符串。

● ltoa():將長(zhǎng)整型值轉(zhuǎn)換為字符串。

● ultoa():將無符號(hào)長(zhǎng)整型值轉(zhuǎn)換為字符串。

● gcvt():將浮點(diǎn)型數(shù)轉(zhuǎn)換為字符串,取四舍五入。

● ecvt():將雙精度浮點(diǎn)型值轉(zhuǎn)換為字符串,轉(zhuǎn)換結(jié)果中不包含十進(jìn)制小數(shù)點(diǎn)。

● fcvt():指定位數(shù)為轉(zhuǎn)換精度,其余同ecvt()。

除此外,還可以使用sprintf系列函數(shù)把數(shù)字轉(zhuǎn)換成字符串,其比itoa()系列函數(shù)運(yùn)行速度慢

2. string/array to int/float

C/C++語言提供了幾個(gè)標(biāo)準(zhǔn)庫函數(shù),可以將字符串轉(zhuǎn)換為任意類型(整型、長(zhǎng)整型、浮點(diǎn)型等)。

● atof():將字符串轉(zhuǎn)換為雙精度浮點(diǎn)型值。

● atoi():將字符串轉(zhuǎn)換為整型值。

● atol():將字符串轉(zhuǎn)換為長(zhǎng)整型值。

● strtod():將字符串轉(zhuǎn)換為雙精度浮點(diǎn)型值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。

● strtol():將字符串轉(zhuǎn)換為長(zhǎng)整值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。

● strtoul():將字符串轉(zhuǎn)換為無符號(hào)長(zhǎng)整型值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。

C語言實(shí)現(xiàn):

#include

#include

void ? ? ?itoa (int n,char s[]);

//atoi 函數(shù):將s轉(zhuǎn)換為整形數(shù)

int main(void )

{

int n;

char s[100];

printf("Input n:\n");

scanf("%d",n);

printf("the string : \n");

itoa (n,s);

return 0;

}

void itoa (int n,char s[])

{

int i,j,sign;

if((sign=n)0)//記錄符號(hào)

n=-n;//使n成為正數(shù)

i=0;

do{

s[i++]=n%10+'0';//取下一個(gè)數(shù)字

}

while ((n/=10)0);//刪除該數(shù)字

if(sign0)

s[i++]='-';

s[i]='\0';

for(j=i;j=0;j--)//生成的數(shù)字是逆序的,所以要逆序輸出

printf("%c",s[j]);

}

拓展資料

C語言是一門通用計(jì)算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。

盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。

二十世紀(jì)八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國(guó)國(guó)家標(biāo)準(zhǔn)局為C語言制定了一套完整的美國(guó)國(guó)家標(biāo)準(zhǔn)語法,稱為ANSI C,作為C語言最初的標(biāo)準(zhǔn)。目前2011年12月8日,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)發(fā)布的C11標(biāo)準(zhǔn)是C語言的第三個(gè)官方標(biāo)準(zhǔn),也是C語言的最新標(biāo)準(zhǔn),該標(biāo)準(zhǔn)更好的支持了漢字函數(shù)名和漢字標(biāo)識(shí)符,一定程度上實(shí)現(xiàn)了漢字編程。

C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET?Framework之上的高級(jí)程序設(shè)計(jì)語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺(tái)亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司 .NET windows網(wǎng)絡(luò)框架的主角。

C語言庫函數(shù)有將數(shù)字轉(zhuǎn)字符串的函數(shù)嗎

1、itoa

功 能:把一整數(shù)轉(zhuǎn)換為字符串

用 法:char *itoa(int value, char *string, int radix);

詳細(xì)解釋:itoa是英文integer to array(將int整型數(shù)轉(zhuǎn)化為一個(gè)字符串,并將值保存在數(shù)組string中)的縮寫.

參數(shù):

value: 待轉(zhuǎn)化的整數(shù)。

radix: 是基數(shù)的意思,即先將value轉(zhuǎn)化為radix進(jìn)制的數(shù),范圍介于2-36,比如10表示10進(jìn)制,16表示16進(jìn)制。

* string: 保存轉(zhuǎn)換后得到的字符串。

返回值:

char * : 指向生成的字符串, 同*string。

備注:該函數(shù)的頭文件是"stdlib.h"

2、ltoa

功 能:把一長(zhǎng)整形轉(zhuǎn)換為字符串

用 法:char *ltoa(long value, char *string, int radix);

詳細(xì)解釋:itoa是英文long integer to array(將long int長(zhǎng)整型數(shù)轉(zhuǎn)化為一個(gè)字符串,并將值保存在數(shù)組string中)的縮寫.

參數(shù):

value: 待轉(zhuǎn)化的長(zhǎng)整型數(shù)。

radix: 是基數(shù)的意思,即先將value轉(zhuǎn)化為radix進(jìn)制的數(shù),范圍介于2-36,比如10表示10進(jìn)制,16表示16進(jìn)制。

* string: 保存轉(zhuǎn)換后得到的字符串。

返回值:

char * : 指向生成的字符串, 同*string。

備注:該函數(shù)的頭文件是"stdlib.h"

3、ultoa

功 能:把一無符號(hào)長(zhǎng)整形轉(zhuǎn)換為字符串

用 法:char *ultoa(unsigned long value, char *string, int radix);

詳細(xì)解釋:itoa是英文unsigned long integer to array(將unsigned long int無符號(hào)長(zhǎng)整型數(shù)轉(zhuǎn)化為一個(gè)字符串,并將值保存在數(shù)組string中)的縮寫.

參數(shù):

value: 待轉(zhuǎn)化的無符號(hào)長(zhǎng)整型數(shù)。

radix: 是基數(shù)的意思,即先將value轉(zhuǎn)化為radix進(jìn)制的數(shù),范圍介于2-36,比如10表示10進(jìn)制,16表示16進(jìn)制。

* string: 保存轉(zhuǎn)換后得到的字符串。

返回值:

char * : 指向生成的字符串, 同*string。

備注:該函數(shù)的頭文件是"stdlib.h"

4、gcvt

功 能:把浮點(diǎn)型數(shù)轉(zhuǎn)換為字符串,取四舍五入

用 法:char *gcvt(double value, int ndigit, char *buf);

詳細(xì)解釋:gcvt()用來將參數(shù)number轉(zhuǎn)換成ASCII碼字符串,參數(shù)ndigits表示顯示的位數(shù)。gcvt()與ecvt()和fcvt()不同的地方在于,gcvt()所轉(zhuǎn)換后的字符串包含小數(shù)點(diǎn)或正負(fù)符號(hào)。若轉(zhuǎn)換成功,轉(zhuǎn)換后的字符串會(huì)放在參數(shù)buf指針?biāo)傅目臻g。

參 數(shù):

value:待轉(zhuǎn)化的浮點(diǎn)數(shù)。

ndigit:存儲(chǔ)的有效數(shù)字位數(shù)。

*buf:結(jié)果的存儲(chǔ)位置。

返回值:

char * :指向生成的字符串, 同*buf。

備注:該函數(shù)的頭文件是"stdlib.h"

5、ecvt

功 能:將雙精度浮點(diǎn)型數(shù)轉(zhuǎn)換為字符串,轉(zhuǎn)換結(jié)果中不包括十進(jìn)制小數(shù)點(diǎn)

用 法:char *ecvt(double value, int ndigit, int *decpt, int *sign);

詳細(xì)解釋:ecvt函數(shù)把一個(gè)雙精度浮點(diǎn)數(shù)轉(zhuǎn)換成一個(gè)字符串。value參數(shù)是要轉(zhuǎn)換的浮點(diǎn)數(shù)。這個(gè)函數(shù)存儲(chǔ)最多ndigit個(gè)數(shù)字值作為一個(gè)字符串,并添加一個(gè)空數(shù)字符('\0'),如果value中的數(shù)字個(gè)數(shù)超過ndigit,低位數(shù)字被舍入。如果少于ndigit個(gè)數(shù)字,該字符串用0填充。

只有數(shù)字才存儲(chǔ)在該字符串中,小數(shù)點(diǎn)位置和value符號(hào)在調(diào)用之后從decpt和sign獲取。decpt參數(shù)指出給出小數(shù)點(diǎn)位置的整數(shù)值,它是從該字符串的開頭位置計(jì)算的。0或負(fù)數(shù)指出小數(shù)點(diǎn)在第一個(gè)數(shù)字的左邊。sign參數(shù)指出一個(gè)指出轉(zhuǎn)換的數(shù)的符號(hào)的整數(shù)。如果該整數(shù)為0,這個(gè)數(shù)為正數(shù),否則為負(fù)數(shù)。

參 數(shù):

value:待轉(zhuǎn)換的雙精度浮點(diǎn)數(shù)。

ndigit:存儲(chǔ)的有效數(shù)字位數(shù)。

*decpt:存儲(chǔ)的小數(shù)點(diǎn)位置。

*sign:轉(zhuǎn)換的數(shù)的符號(hào)。

返回值:

char*:指向生成的字符串。

備注:該函數(shù)的頭文件是"stdlib.h"

6、fcvt

功 能:指定位數(shù)為轉(zhuǎn)換精度,其余同ecvt

用 法:char *fcvt(double value, int ndigit, int *decpt, int *sign);

詳細(xì)解釋:fcvt函數(shù)把一個(gè)雙精度浮點(diǎn)數(shù)轉(zhuǎn)換成一個(gè)字符串。value參數(shù)是要轉(zhuǎn)換的浮點(diǎn)數(shù)。參與轉(zhuǎn)換的實(shí)際值保留的小數(shù)位數(shù)由ndigit決定。

只有數(shù)字才存儲(chǔ)在該字符串中,小數(shù)點(diǎn)位置和value符號(hào)在調(diào)用之后從decpt和sign獲取。decpt參數(shù)指出給出小數(shù)點(diǎn)位置的整數(shù)值,它是從該字符串的開頭位置計(jì)算的。0或負(fù)數(shù)指出小數(shù)點(diǎn)在第一個(gè)數(shù)字的左邊。sign參數(shù)指出一個(gè)指出轉(zhuǎn)換的數(shù)的符號(hào)的整數(shù)。如果該整數(shù)為0,這個(gè)數(shù)為正數(shù),否則為負(fù)數(shù)。

參 數(shù):

value:待轉(zhuǎn)換的雙精度浮點(diǎn)數(shù)

ndigit:轉(zhuǎn)換的字符串中包含小數(shù)點(diǎn)后幾位

*decpt:返回小數(shù)點(diǎn)在串中的位置

*sign:符號(hào)標(biāo)志。

返回值:

char*:指向生成的字符串。

備注:該函數(shù)的頭文件是"stdlib.h"

c語言如何把某個(gè)函數(shù)名轉(zhuǎn)換為字符串

根據(jù)編譯環(huán)境,有如下方式:

1 部分編譯器中,支持__FUNCTION__或__func__宏。該宏為編譯器定義,值為被調(diào)用函數(shù)的函數(shù)名轉(zhuǎn)換成的字符串。如在func()中調(diào)用__FUNCTION__,則該宏的值為"func"。

2 如果編譯器不支持上述宏名,那么需要手動(dòng)添加宏。可以有如下兩種方式:

a. 直接定義對(duì)應(yīng)字符串,如

#define FUNC_NAME "func"

字符串中的直接寫明。

b. 統(tǒng)一函數(shù)轉(zhuǎn)換。利用宏定義的#操作,可以實(shí)現(xiàn)標(biāo)識(shí)符向字符串的轉(zhuǎn)換。

#define FUNC_NAME(x) #x

這時(shí)調(diào)用FUNC_NAME(func)就等效于"func"。

C語言 int/float/double 數(shù)值轉(zhuǎn)成字符串的方法或者函數(shù)

對(duì)于int型,可以調(diào)用函數(shù)itoa。

char*itoa(int value,char*string,int radix);

功能為將任意類型的數(shù)字轉(zhuǎn)換為字符串。

int value 被轉(zhuǎn)換的整數(shù),char *string 轉(zhuǎn)換后儲(chǔ)存的字符數(shù)組,int radix 轉(zhuǎn)換進(jìn)制數(shù),如2,8,10,16 進(jìn)制等。

float和double類型沒有特定的轉(zhuǎn)換函數(shù)。

不過不論是float, double還是int,都可以通過sprintf函數(shù)進(jìn)行轉(zhuǎn)換。

sprintf類似于printf,都是按照格式化字符串輸出參數(shù)到目標(biāo)。不過printf是輸出到終端,而sprintf是輸出到第一個(gè)參數(shù)的字符串中。

定義

int i;

float f;

double d;

再定義字符串空間

char buf[100];

調(diào)用

sprintf(buf, "%d",i);

sprintf(buf, "%f",f);

sprintf(buf, "%lf",d);

就可以分別把int, float, double轉(zhuǎn)換成值對(duì)應(yīng)的字符串。

C語言中如何將數(shù)字變成字符串啊?

C語言提供了幾個(gè)標(biāo)準(zhǔn)庫函數(shù),可以將任意類型(整型、長(zhǎng)整型、浮點(diǎn)型等)的數(shù)字轉(zhuǎn)換為字符串。用itoa()函數(shù)將整數(shù)轉(zhuǎn)換為字符串。

itoa()函數(shù)有3個(gè)參數(shù):第一個(gè)參數(shù)是要轉(zhuǎn)換的數(shù)字,第二個(gè)參數(shù)是要寫入轉(zhuǎn)換結(jié)果的目標(biāo)字符串,第三個(gè)參數(shù)是轉(zhuǎn)移數(shù)字時(shí)所用的基數(shù)。在上例中,轉(zhuǎn)換基數(shù)為10。

#include stdio.h

int main()

{

int a[4]={1,2,3,4};

char b[4];

for(int i=0;i4;i++)

b[i]=a[i];

for(int i=0;i4;i++)

printf("%c",b[i]);

return 0;

}

字符串在存儲(chǔ)上類似字符數(shù)組

它每一位單個(gè)元素都是能提取的,字符串的零位是它的長(zhǎng)度,如s[0]=10,這提供給我們很多方便,例如高精度運(yùn)算時(shí)每一位都能轉(zhuǎn)化為數(shù)字存入數(shù)組。

通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。

兩個(gè)字符串相等的充要條件是:長(zhǎng)度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等。設(shè)p、q是兩個(gè)串,求q在p中首次出現(xiàn)的位置的運(yùn)算叫做模式匹配。串的兩種最基本的存儲(chǔ)方式是順序存儲(chǔ)方式和鏈接存儲(chǔ)方式。

以上內(nèi)容參考:百度百科-字符串

當(dāng)前標(biāo)題:c語言轉(zhuǎn)字符串函數(shù) c語言中將數(shù)字轉(zhuǎn)換為字符串的函數(shù)
網(wǎng)址分享:http://muchs.cn/article14/hhisge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、服務(wù)器托管、定制開發(fā)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站設(shè)計(jì)公司品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司