2008-04-04

Convert int to char

昨晚為了解決一個字串處理的問題, 耗上了許多時間, 把一些心得記錄在這裡供大家參考.程式有時候會需要用到type的"轉型", 轉型在java底下非常方便. 用法如下:

int i = 10;
String str = String.valueOf(i);
這時候 str 就會是 "10"
但type的convert(int to string)在C/C++底下該怎麼使用...


大部分的方式是使用itoa()這個function, 用法如下:
char * itoa ( int value, char * str, int base );
ex:
int
i=3;
char
buffer [10];
itoa (i,buffer,10);
其中 i 是要轉成char的integer, buffer是要存的char, 而10表示轉成十進位.

但是itoa()在某些Linux底下就是無法被使用, 簡單說就是無法被系統reference到. 此時可以使用另外一種方式sprintf(), 用法如下:
int sprintf ( char * str, const char * format, ... );
ex:
char
buffer [50];
int n, a=5, b=3;
n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
其中 buffer 裡就是"引號"中的字元(char), 而 n 則是"引號"的位元大小(int).
大致上就是這樣...

0 意見:

 
Blogger Template Layout Design by [ METAMUSE ] : Code Name BlackCat 2.0.0