C 言語で整数を文字列に変換する
Satishkumar Bharadwaj
2023年10月12日
このチュートリアルでは、C 言語で整数を文字列に変換する方法を紹介します。C 言語で整数を文字列に変換するには、sprintf()
、itoa()
関数のような方法があります。
C 言語で整数を文字列に変換するための sprintf()
関数
その名の通り、任意の値を文字列に出力するために使用します。この関数は整数を文字列に変換する簡単な方法を提供します。この関数は printf()
関数と同じように動作しますが、コンソールに直接値を表示するのではなく、整形された文字列を返します。戻り値は通常破棄されるが、操作中にエラーが発生した場合は -1
を返します。
sprintf()
構文
int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
str
は char データ型へのポインタです。format
はプレースホルダと一緒に出力の型を表示するために使われます。- 引数
arg1
、arg2
は文字列に変換するための整数です。
C 言語で整数を文字列に変換する sprintf()
のコード例
#include <stdio.h>
int main(void) {
int number;
char text[20];
printf("Enter a number: ");
scanf("%d", &number);
sprintf(text, "%d", number);
printf("\nYou have entered: %s", text);
return 0;
}
出力:
Enter a number: 20
You have entered: 20
C 言語で整数を文字列に変換する関数 itoa()
この関数は整数をヌル文字で終端する文字列に変換します。負の数を変換することもできます。
itoa()
構文
char* itoa(int num, char* buffer, int base)
num
は整数です。buffer
は char データ型へのポインタです。base
は変換ベースです。整数値を定義して基底値に変換し、バッファに格納します。ベースが 10 で値が負の場合は、結果の文字列の前にマイナスの記号(-
)が付きます。
C 言語で整数を文字列に変換する関数 itoa()
のコード例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int number, l;
char string[20];
printf("Enter a number: ");
scanf("%d", &number);
itoa(number, string, 10);
printf("String value = %s\n", string);
return 0;
}
出力:
Enter a number: 15
String value: 15
警告
itoa()
は ANSI C 標準の関数ではありません。プラットフォームによっては GCC コンパイラでは動作しない場合があります。関連記事 - C Integer
- C の整数除算
- C 言語での Unsigned Int と SignedInt の違い
- C 言語で Char*を Int に変換
- C 言語で文字列を整数に変換する
- CでIntegerをCharに変換する方法