itoa()函數(shù)是將一個(gè)整數(shù)轉(zhuǎn)換成字符串的函數(shù),函數(shù)原型為:char *itoa(int value, char *str, int radix)。
value為要轉(zhuǎn)換的整數(shù);
str為轉(zhuǎn)換后的字符串;
radix為進(jìn)制數(shù),可以取值為2、8、10或16。
sprintf()函數(shù)是將格式化的數(shù)據(jù)寫入字符串中的函數(shù),函數(shù)原型為:int sprintf(char *str, const char *format, …);
str為輸出的字符串;
format為格式化字符串;
…為可選的參數(shù),根據(jù)format中指定的格式進(jìn)行轉(zhuǎn)換。
以下是使用itoa()和sprintf()函數(shù)的示例代碼:
#include <stdio.h>
#include <stdlib.h>
int main() {
int num = 123;
char str[10];
// 使用itoa()函數(shù)將整數(shù)轉(zhuǎn)換成字符串
itoa(num, str, 10);
printf("itoa(): %s\n", str);
// 使用sprintf()函數(shù)將整數(shù)轉(zhuǎn)換成字符串
sprintf(str, "%d", num);
printf("sprintf(): %s\n", str);
return 0;
}
輸出結(jié)果為:
itoa(): 123
sprintf(): 123
可以看到,兩個(gè)函數(shù)都可以將整數(shù)轉(zhuǎn)換成字符串,但itoa()函數(shù)只能轉(zhuǎn)換為十進(jìn)制字符串,而sprintf()函數(shù)可以根據(jù)格式化字符串的指定,轉(zhuǎn)換為不同進(jìn)制的字符串。