C/C++

標準入出力

更新日:

標準入出力とは

標準入出力とはコンソール画面での入力や出力機能です。
コマンドプロンプトと呼ばれるウィンドウに文字を出力したり、キーボードからの入力を受け付けます。

stdio.hをインクルードして使います。

何かと使う機会が多いのでよく覚えておきましょう。

printf()

printf("【出力する文字】");


printf()は特殊文字を扱うことができます。

特殊文字 意味
\n 改行
\\ \
\' '
\" "
\? ?

Windowsでは\が¥(半角)になります。

また、値を引数として使うこともできます。

std_out_sample1.c

int a = 1;
printf("%d %f %c %d", a, 2.4, 'c', a + 5);

第2引数が左から1番目の%X、第3引数が2番目…となります。 %Xには引数の型によってそれぞれ違う文字が入ります。
文字
整数 %d
浮動少数点数 %f
浮動少数点数(倍精度) %lf
文字 %c
文字列 %s
浮動少数点数型の場合は表示する桁数も指定できます。

std_out_sample2.c

float a = 1.0;

printf("%3.0f \n %.2f \n %2.5f");

.の前が整数部分、後が少数部分の表示する桁数になります。
出力結果は以下のようになります。

001
1.00
01.00000

puts()

puts()はprintf()同様標準出力の関数です。

puts("【文字列】")


の形で出力します。
変数名で出力内容を指定することもできます。

std_out_sample3.c

puts("Hello, World!");

char[] msseage = "Hello, World!";
puts(message);

scanf()

scanf()は標準入力の関数です。
ユーザーが入力した値を受け取り、変数に格納します。

scanf("%X", &【変数名】)


%Xにはprintf()と同様に特殊文字を挿入します。
なぜ変数の前に&をつけるかは関数を参照してください。

開発環境によってはscanf()を使うとエラーがでます。
これはこの関数に脆弱性が見つかっているため、以降使わないようにすべきであるからです。

対策としては代わりにscanf_s()を使うとよいでしょう。

gets()

gets()はscanf()同様標準入力関数です。

gets(【変数名】)


で入力値を受け取ります。
gets()は文字型の配列(文字列)でのみ受け取れます。


-C/C++

Copyright© ツナのエンジニアブログ , 2025 All Rights Reserved Powered by AFFINGER5.