HOWTO · C
C 言語で整数を文字列に変換する
このチュートリアルでは、整数を文字列に変換する C 言語のさまざまな方法を紹介します。C 言語での sprintf() と itoa() 関数の使用法について説明します。
このページの内容
このチュートリアルでは、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 コンパイラでは動作しない場合があります。