int型を文字列に変換するには?

C言語で、int型から文字列へ変換する方法には以下があります:

  1. sprintf関数を使う
int num = 12345;
char str[20];
sprintf(str, "%d", num);
  1. snprintf関数を使用します。
int num = 12345;
char str[20];
snprintf(str, sizeof(str), "%d", num);
  1. itoa関数を使う(一部のコンパイラ対応)
int num = 12345;
char str[20];
itoa(num, str, 10);
  1. ユーザー定義関数を使用する:
int num = 12345;
char str[20];
int i = 0, sign;
if ((sign = num) < 0)  // 处理负数
num = -num;
do
{
str[i++] = num % 10 + '0';
} while ((num /= 10) > 0);
if (sign < 0)
str[i++] = '-';
str[i] = '\0';
// 反转字符串
int start = 0;
int end = i - 1;
while (start < end)
{
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}

以下の方法は、intを文字列に変換する一般的な方法ですので、ご希望に応じてお選びください。

bannerAds