C語言中字符串和數(shù)字的相互轉(zhuǎn)換實(shí)現(xiàn)代碼
1.數(shù)字轉(zhuǎn)換為字符串
sprintf 跟printf 在用法上幾乎一樣,只是打印的目的地不同而已,前者打印到字符串中,后者則直接在命令行上輸出。
sprintf 是個(gè)變參函數(shù),定義如下:
int sprintf( char *buffer, const char *format [, argument] ... );
除了前兩個(gè)參數(shù)類型固定外,后面可以接任意多個(gè)參數(shù)。
printf 和sprintf 都使用格式化字符串來指定串的格式,在格式串內(nèi)部使用一些以“%”開頭的格式說明符(format specifications)來占據(jù)一個(gè)位置,在后邊的變參列表中提供相應(yīng)的變量,最終函數(shù)就會用相應(yīng)位置的變量來替代那個(gè)說明符,產(chǎn)生一個(gè)調(diào)用者想要 的字符串。
如把整數(shù)123 打印成一個(gè)字符串保存在s 中。
sprintf(s, "%d", 123); //產(chǎn)生"123"
2.字符串轉(zhuǎn)換為數(shù)字
函數(shù)名: atol
功 能: 把字符串轉(zhuǎn)換成長整型數(shù)
用 法: long atol(const char *nptr);
程序例:
復(fù)制代碼代碼如下:
#include
#include
int main(void)
{
long l;
char *str = "98765432";
l = atol(str);
printf("string = %s integer = %ld", str, l);
return(0);
}
評論