C++におけるscanfの使い方は何ですか?
C++において、scanf関数は標準入力からフォーマットされた入力を読み込むために使用されます。基本的な構文は次のようになります:
#include <cstdio>
scanf(format, &variable1, &variable2, ...);
formatは文字列で、変数の読み取り形式を指定するために使用される。&variable1、&variable2などは読み取る変数のアドレスです。
整数を読み取りたい場合は、整数を%dとしてフォーマット文字列として使用し、入力値を受け取るための整数変数のアドレスを提供してください。
#include <cstdio>
int main() {
int num;
scanf("%d", &num);
printf("输入的整数是:%d\n", num);
return 0;
}
scanf関数は複数の引数を受け取ることができ、複数の変数の値を読み込むために使用されます。フォーマット文字列中のフォーマット指示子は、変数の型と一致する必要があります。たとえば、2つの整数を読み取る場合は、2回%dを使用することができます。
#include <cstdio>
int main() {
int num1, num2;
scanf("%d %d", &num1, &num2);
printf("输入的两个整数是:%d 和 %d\n", num1, num2);
return 0;
}
scanf関数は成功した読み取った引数の数を返すことに注意してください。読み取りに失敗した場合、返される値はEOF(-1)です。
scanf関数を使用する場合は、入力バッファの問題に注意する必要があります。scanf関数はフォーマット入力を読み取る際に改行文字を残してしまうため、後続の入力に影響を与える可能性があります。入力バッファをクリアするためには、getchar関数を使用するか、C++標準ライブラリを使用している場合はcin.ignoreを使用して改行文字を無視できます。