C言語でテキストファイルから数字を読み取る方法は何ですか?
C言語では、txtファイルから数字を読み取るためにfscanf関数を使うことができます。
以下是一个例子,比如我们有一个名为input.txt的文件,里面包含一系列数字,每行一个。我们可以使用下面的代码来读取这些数字:
#include <stdio.h>
int main() {
FILE *file;
file = fopen("input.txt", "r"); // 打开文件
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
int num;
while (fscanf(file, "%d", &num) != EOF) { // 读取文件中的数字,直到文件结尾
printf("%d\n", num);
}
fclose(file); // 关闭文件
return 0;
}
以上のコードでは、fopen関数を使用してファイルを開きます。最初の引数はファイル名であり、2番目の引数は開くモードです。私たちは”r”モードを使用して読み取りモードを表します、すなわちファイルを読み込みます。
次に、ファイル内の数字を読み取るために、fscanf関数をループして使用します。fscanf関数の第1引数はファイルポインターであり、第2引数はデータ型を指定するフォーマット文字列です。この例では、整数を読み取るために “%d” を使用しています。第3引数は読み取った値を受け取る変数のアドレスです。
最後、リソースを解放するためにfclose関数を使用してファイルを閉じます。
fopen関数を使用してファイルを開いた後は、ファイルが正常に開かれたかどうかをチェックする必要があります。つまり、ファイルポインタがNULLかどうかを確認する必要があります。ファイルポインタがNULLであれば、ファイルの開くのに失敗したことを意味します。