c語言itoa函數(shù)用不了 c語言itoa函數(shù)源碼

求助,為什么code blocks里面用不了itoa這個函數(shù)

你這個顯然就是include目錄設(shè)置的問題

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出管城免費做網(wǎng)站回饋大家。

如果不知道怎么設(shè)置include目錄的話,我提供兩個建議,一是卸了這個裝vs2010,另一個卸了這個是裝一個codeblocks with mingw。

C++中,用itoa函數(shù)在tyvj和vijos上評測為什么編譯錯誤?!

itoa不是標(biāo)準(zhǔn)函數(shù),請使用sscanf轉(zhuǎn)換數(shù)字到字符串。

itoa 為c語言的一個函數(shù)。itoa 函數(shù)是一個廣泛應(yīng)用的,從非標(biāo)準(zhǔn)擴(kuò)展到標(biāo)準(zhǔn)的C語言。它不能被移植,因為它不是標(biāo)準(zhǔn)定義下的C語言,但是,編譯器通常在一個不遵循程式標(biāo)準(zhǔn)的模式下允許其通過header ,因為它是一個從邏輯對應(yīng)到標(biāo)準(zhǔn)庫的函數(shù)。itoa 取整數(shù)輸入值,并將其轉(zhuǎn)換為相應(yīng)進(jìn)制數(shù)字的字符串。

c語言中,函數(shù)itoa有什么功能,怎么用?

itoa是廣泛應(yīng)用的非標(biāo)準(zhǔn)C語言擴(kuò)展函數(shù)。由于它不是標(biāo)準(zhǔn)C語言函數(shù),所以不能在所有的編譯器中使 用。但是,大多數(shù)的編譯器(如Windows上的)通常在stdlib.h頭文件中包含這個函數(shù)。在stdlib.h中與之有相反功能的函數(shù)是atoi。功能:把一整數(shù)轉(zhuǎn)換為字符串。

用法

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

頭文件: stdlib.h

程序例:

#include stdlib.h

#include stdio.h

int main()

{

int number = 123456;

char string[25];

itoa(number, string, 10);

printf("integer = %d string = %s\n", number, string);

return 0;

}

/* 實現(xiàn)itoa函數(shù)的源代碼 */

char *myitoa(int num,char *str,int radix)

{

/* 索引表 */

char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

unsigned unum; /* 中間變量 *

int i=0,j,k;

/* 確定unum的值 */

if(radix==10num0) /* 十進(jìn)制負(fù)數(shù) */

{

unum=(unsigned)-num;

str[i++]='-';

}

else unum=(unsigned)num; /* 其他情況 */

/* 逆序 */

do {

str[i++]=index[unum%(unsigned)radix];

unum/=radix;

}while(unum);

str[i]='\0';

/* 轉(zhuǎn)換 */

if(str[0]=='-') k=1; /* 十進(jìn)制負(fù)數(shù) */

else k=0;

/* 將原來的“/2”改為“/2.0”,保證當(dāng)num在16~255之間,radix等于16時,也能得到正確結(jié)果 */

for(j=k;j=(i-1)/2.0+k;j++)

{

num=str[j];

str[j]=str[i-j-1+k];

str[i-j-1+k]=num;

}

return str;

}

itoa的第三個參數(shù)用于將數(shù)字轉(zhuǎn)換成不同的進(jìn)制。舉個例子:

#include stdlib.h

#include stdio.h

int main(void)

{

int number = 12345;

char string[25];

itoa(number, string, 10); //按十進(jìn)制轉(zhuǎn)換

printf("integer = %d string = %s\n", number, string);

itoa(number, string, 16); //按16進(jìn)制轉(zhuǎn)換

printf("integer = %d string = %s\n", number, string);

return 0;

}

輸出結(jié)果:

integer = 12345 string = 12345 --說明12345的十進(jìn)制表示就是12345

integer = 12345 string = 3039 ——說明12345的十六進(jìn)制表示是0x3039

但是要注意,itoa并不是一個標(biāo)準(zhǔn)的C函數(shù),它是Windows特有的,如果要寫跨平臺的程序,請用sprintf。

用幾進(jìn)制表示吧:)

MSDN的例子

Example

/* ITOA.C: This program converts integers of various

* sizes to strings in various radixes.

*/

#include stdlib.h

#include stdio.h

void main( void )

{

char buffer[20];

int i = 3445;

long l = -344115L;

unsigned long ul = 1234567890UL;

_itoa( i, buffer, 10 );

printf( "String of integer %d (radix 10): %s\n", i, buffer );

_itoa( i, buffer, 16 );

printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );

_itoa( i, buffer, 2 );

printf( "String of integer %d (radix 2): %s\n", i, buffer );

_ltoa( l, buffer, 16 );

printf( "String of long int %ld (radix 16): 0x%s\n", l, buffer );

_ultoa( ul, buffer, 16 );

printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul, buffer );

}

Output

String of integer 3445 (radix 10): 3445

String of integer 3445 (radix 16): 0xd75

String of integer 3445 (radix 2): 110101110101

String of long int -344115 (radix 16): 0xfffabfcd

String of unsigned long 1234567890 (radix 16): 0x499602d2

指定要轉(zhuǎn)換的進(jìn)制的基數(shù),其值好象在1--36之間都可以

這個不是C標(biāo)準(zhǔn)庫中的函數(shù),而是Windows平臺下擴(kuò)展的,標(biāo)準(zhǔn)庫中有sprintf,功能比這個更強,用法跟printf類似:

char str[255];

sprintf(str, "%x", 100); //將100轉(zhuǎn)為16進(jìn)制表示的字符串。

c語言問題itoa函數(shù)

1.在這里,return 0;的作用僅僅是表示mian()函數(shù)運行結(jié)束。作用是不執(zhí)行后面的的system("pause"); 語句.

2.函數(shù)itoa求出的只是該二進(jìn)制數(shù)對應(yīng)的“字符串”是char類型,不是int類型的數(shù)據(jù)。這里只是看個結(jié)果,所以,用字符串足已。

請看:

printf("%s\n","10101011");

printf("%d\n",10101011);

二者輸出結(jié)果完全一樣!

如果你想存在int類型數(shù)據(jù)中,簡單的很,前面再加atoi()函數(shù)即可。

請看:

int num = atoi( itoa(num, str, 2) );

printf("%d\n",num);

3.:%s是是輸出字符串的格式控制符,%c是輸出單個字符的格式控制符。

文章題目:c語言itoa函數(shù)用不了 c語言itoa函數(shù)源碼
標(biāo)題URL:http://muchs.cn/article48/doshcep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化品牌網(wǎng)站制作、自適應(yīng)網(wǎng)站用戶體驗

廣告

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

成都定制網(wǎng)站網(wǎng)頁設(shè)計