C 言語で整数を文字列に変換する

Satishkumar Bharadwaj 2023年10月12日
  1. C 言語で整数を文字列に変換するための sprintf() 関数
  2. C 言語で整数を文字列に変換する関数 itoa()
C 言語で整数を文字列に変換する

このチュートリアルでは、C 言語で整数を文字列に変換する方法を紹介します。C 言語で整数を文字列に変換するには、sprintf()itoa() 関数のような方法があります。

C 言語で整数を文字列に変換するための sprintf() 関数

その名の通り、任意の値を文字列に出力するために使用します。この関数は整数を文字列に変換する簡単な方法を提供します。この関数は printf() 関数と同じように動作しますが、コンソールに直接値を表示するのではなく、整形された文字列を返します。戻り値は通常破棄されるが、操作中にエラーが発生した場合は -1 を返します。

sprintf() 構文

int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
  • str は char データ型へのポインタです。
  • format はプレースホルダと一緒に出力の型を表示するために使われます。
  • 引数 arg1arg2 は文字列に変換するための整数です。

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 String