📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

660行目: 660行目:
  </source>
  </source>
<br><br>
<br><br>
== 数値を文字列に変換する ==
C言語で数値を文字列に変換するには、stdio.hのsprintf関数またはsnprintf関数を使用する。<br>
sprintf関数は、第2引数が指す書式文字列に従って第1引数が指す文字配列へ書き込む関数である。<br>
なお、文字配列に書き込んだ文字列の後には'\0'が自動的に書き込まれる。<br>
snprintf関数は、基本的にはsprintf関数と同じであるが、第3引数に最大文字数分を指定する。<br>
(n - 1番目より後の出力文字は第1引数に書き込まずに破棄される)<br>
<br>
sprintf関数とsnprintf関数は共に、第2引数が指す書式文字列はprintf関数と同様のフォーマットで指定する。<br>
変換指定子に%dや%fを指定することで、数値から文字列に変換することができる。<br>
<source lang="c">
#include <stdio.h>
#include <stdlib.h>
#define N 256
int main(void)
{
    char s1[N] = {'\0'};
    char s2[N] = {'\0'};
    int i = 10000;
    double x = 200.123;
    sprintf(s1, "%d", i);
    snprintf(s2, N, "%.4f", x);
    fprintf(stdout, "s1: %s\n", s1);
    fprintf(stdout, "s2: %s\n", s2);
    return EXIT_SUCCESS;
}
</source>
<br><br>




__FORCETOC__
__FORCETOC__
[[カテゴリ:C]]
[[カテゴリ:C]]