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

2021-06-15 09:31:53 字數 834 閱讀 5030

1.數字轉換為字串

sprintf 跟printf 在用法上幾乎一樣,只是列印的目的地不同而已,前者列印到字串中,後者則直接在命令列上輸出。

sprintf 是個變參函式,定義如下: 

int sprintf( char *buffer, const char *format [, argument] ... ); 

除了前兩個引數型別固定外,後面可以接任意多個引數。

printf 和sprintf 都使用格式化字串來指定串的格式,在格式串內部使用一些以「%」開頭的格式說明符(format specifications)來佔據乙個位置,在後邊的變參列表中提供相應的變數,最終函式就會用相應位置的變數來替代那個說明符,產生乙個呼叫者想要 的字串。

如把整數123 列印成乙個字串儲存在s 中。 

sprintf(s, \"%d\", 123); //產生\"123\"

2.字串轉換為數字

函式名: atol

功 能: 把字串轉換成長整型數

用 法: long atol(const char *nptr);

程式例:

#include #include int main(void)

字串和數字的相互轉換

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

C語言 數字 字串相互轉換

1.將乙個數字字元轉換成數字 char ch 3 3 的ascii值是51 int a a ch 0 0 的ascii值是48 printf d a 輸出結果 32.將單個整型數字轉換成字元 int a 6 char ch ch a 0 或者ch a 48 0 的ascii值是48 printf c...

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

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