itoa是廣泛應用的非標準c語言擴充套件函式。由於它不是標準
c語言函式
,所以不能在所有的
編譯器中使
itoa介面
用。但是,大多數的編譯器(如windows上的)通常在標頭檔案中包含這個函式。在中與之有相反功能的函式是atoi。功能:把一整數轉換為字串。
char *itoa(int value, char *string, int radix);
int value 被轉換的整數,char *string 轉換後儲存的
字元陣列
,int radix 轉換進製數,如2,8,10,16 進製等
標頭檔案:
itoa操作使用
程式例:
#include
#include
int main()
/* 實現itoa函式的
源***/
char *myitoa(int num,char *str,int radix)
else unum=(unsigned)num; /* 其他情況 */
/* 逆序 */
c語言程式
while(unum);
str[i]='\0';
/* 轉換 */
if(str[0]=='-') k=1; /* 十進位制負數 */
else k=0;
/* 將原來的「/2」改為「/2.0」,保證當num在16~255之間,radix等於16時,也能得到正確結果 */
char temp;
for(j=k;j<=(i-k)/2.0;j++)
return str;
}itoa的第三個引數用於將數字轉換成不同的進製。舉個例子:
#include
#include
int main(void)
輸出結果:
integer = 12345 string = 12345 --說明12345的十進位制表示就是12345
integer = 12345 string = 3039 ——說明12345的十六進製制表示是0x3039
但是要注意,itoa並不是乙個標準的c函式,它是windows特有的,如果要寫跨平台的程式,請用sprintf。
用幾進製表示吧:)
msdn的例子
example
/* itoa.c: this program converts integers of various
* sizes to strings in various radixes.
*/#include
#include
void main( void )
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
指定要轉換的進製的基數,其值好象在1--36之間都可以
這個不是c標準庫中的函式,而是windows平台下擴充套件的,標準庫中有sprintf,功能比這個更強,用法跟printf類似:
char str[255];
sprintf(str, "%x", 100); //將100轉為16進製表示的字串。
整數轉換為字串(itoa)
字串可以轉換為整型,對應的整型也可以轉化為字串。來看看吧 題目 程式設計實現將整型數值轉換為字串。char my itoa int value,char buffer,int radix 引數說明 示例 value 10 radix 2 string 1010 不考慮value 為負數。解題思路 這...
把字串轉為整數
方案一 int stringtoint1 char string 此 就是大多數人能想到的,但這個 無法完成較為複雜的字串轉換,比如有字母巢狀是輸出的就是隨機值,另外沒有檢查字串是否是空指標,return number 方案二 int stringtoint2 char string 次 雖然解決空...
python 把字串轉為整數
如果我們需要把python的字串物件轉換為整數物件,我們需要用到int方法。比如 ainfo 222 print int ainfo 輸出的結果是222。然後我們檢視下ainfo現在的型別,通過type方法檢視下,發現是 而如果ainfo fefew22 print int ainfo 我們看下結果...