C語言中字串和數字的相互轉換實現程式碼分析
C語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式設計語言。以下是本站小編搜尋整理的關於C語言中字串和數字的`相互轉換實現程式碼分析,供參考借鑑,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!
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 <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *str = "98765432";
l = atol(str); /* 原來為l = atol(str); */
printf("string = %s integer = %ldn", str, l);
return(0);
}