C言語で入力関数を使う方法は?
C言語では、scanf関数を使用してユーザの入力データを取得できます。scanf関数のプロトタイプは次のとおりです。
int scanf(const char *format, …);
scanf 関数の最初の引数はフォーマット文字列で、読み取るデータの型と形式を指定します。以降の引数は読み取るデータの変数です。
たとえば、整数を読み込むには次のコードを使用できます。
int num;
scanf("%d", &num);
「%d」はフォーマット文字列で、整数を読み込むことを指定します。「&num」は、読み込んだ整数を「num」という変数に格納することを表します。
同様に、他の書式付き文字列を使用して異なるデータ型を読み込むことができます。
float num1;
double num2;
char ch;
scanf("%f", &num1);
scanf("%lf", &num2);
scanf(" %c", &ch); // 注意%c前面的空格,用于清除缓冲区中的换行符
実際には、複数のデータを複数回scanf関数を使って読み込むことができます。なお、scanf関数は正常に読み込んだデータ項目の数を返却し、正常に読み込めたかどうかを確認できます。
また、scanf 関数は既定では標準入力(キーボード)からデータを読み取りますが、ファイルから読み取ることも、ファイルポインタを入力ストリームとして scanf 関数に渡せば可能です。以下に例を示します。
FILE *fp;
int num;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
fscanf(fp, "%d", &num);
fclose(fp);
fopen関数は”data.txt”という名前のファイルを開き、fpという変数にファイルポインタを割り当てます。その後、fscanf関数を用いてファイルからデータを読み取り、読み込みが成功したらファイルを閉じます。