字串和數字的相互轉換

2021-08-28 10:34:23 字數 1651 閱讀 4881

有時候在伺服器端開發的時候,需要對自定製上層協議來序列化和反序列化資料,這種情況下有時候就會用到標題所言的這種操作。下面我列舉幾種常見的方法。

char buf[size]

="a=10&b=20"

;int a =0;

int b =0;

sscanf

(buf,

"a=%d&b=%d"

,&a,

&b);

int result = a + b;

char buf[size]=;

sprintf

(buf,

"result=%d"

, result)

;

這兩個函式並沒有實現標準化,所以不推薦使用!

int i;

char szinput [

256]

; printf (

"enter a number: ");

fgets ( szinput,

256,

stdin);

i = atoi (szinput)

; printf (

"the value entered is %d. the double is %d.\n"

,i,i*2)

;return

0;

int i;

char buffer [33]

; printf (

"enter a number: ");

scanf (

"%d"

,&i)

; itoa (i,buffer,10)

; printf (

"decimal: %s\n"

,buffer)

; itoa (i,buffer,16)

; printf (

"hexadecimal: %s\n"

,buffer)

; itoa (i,buffer,2)

; printf (

"binary: %s\n"

,buffer)

;return

0;

@@要使用這個類,首先得包含這個標頭檔案 < sstream>

@@多次使用同乙個stringsream轉換不同物件時,轉換前需要使用clear()

@@這個方法的缺點是操作大量資料的時候速度就會下降。

char

* str =

"100"

;stringstream s

(str)

;int pos;

s >> pos;

//從 s 中提取資料 100 賦給 pos

stringstream s;

int pos =

100;

s << pos;

//取得 pos 中的值

string str = s.

str(

);

C語言 字串和數字的相互轉換

1.數字轉換為字串 sprintf 跟printf 在用法上幾乎一樣,只是列印的目的地不同而已,前者列印到字串中,後者則直接在命令列上輸出。sprintf 是個變參函式,定義如下 int sprintf char buffer,const char format argument 除了前兩個引數型別...

字串和數字之間的相互轉換總結

最近刷題有用到字串和整形數字之間的轉化,特地總結一下。int本身也要用一串字元表示,前後沒有雙引號,告訴編譯器把它當作乙個數解釋。預設情況下,是當成10進製 dec 來解釋,如果想用8進製,16進製制,怎麼辦?加上字首,告訴編譯器按照不同進製去解釋。8進製 oct 字首加0,16進製制 hex 字首...

字串與數字的相互轉換

在寫程式的時候常常碰到字串與數字相互轉換的問題,這裡做乙個小小的總結。字串與數字的轉換的方法比較多,按照不同的開發環境可以分為c c mfc,當然這三者存在著包含關係,在c開發環境中實現的方法在c 開發環境自然可以用,而用c 開發環境使用的方法在mfc一樣也可以使用。由於c mfc中使用類模板 cs...