fread関数を用いてC言語でファイルをどのように読み取りますか
C 言語では、 fread 関数を使用してファイルを読み取ることができます。 fread 関数のプロトタイプは次のとおりです。
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
指定されたファイルストリームからデータを読み取り、指定されたバッファに格納する関数です。関数の引数は次のとおりです。
- ptr:読み取り対象とするバッファーへ格納されるポインター。
- サイズ: 読み取る 1 つあたりのデータ項目のバイト数です。
- 読み取るデータ項目の個数。
- ストリーム:データを読み取るためのファイルストリームへのポインタ
以下にfread関数を使用してファイルを読み取る方法を示す例を示します。
#include <stdio.h>
int main() {
FILE *file;
char buffer[100];
// 打开文件
file = fopen("example.txt", "rb");
if (file == NULL) {
printf("无法打开文件。\n");
return 1;
}
// 读取文件内容
size_t bytesRead = fread(buffer, sizeof(char), sizeof(buffer), file);
if (bytesRead == 0) {
printf("无法读取文件。\n");
} else {
// 输出读取的文本
printf("%s\n", buffer);
}
// 关闭文件
fclose(file);
return 0;
}
上のコードでは、最初にfopen関数でexample.txtという名前のファイルを開き、バイナリモード(“rb”)で開くよう指定します。ファイルがオープンできない場合は、エラーメッセージを表示して返します。次に、fread関数を使用してファイルの内容を読み取って、bufferバッファに格納します。最後に、printf関数を使用して読み取ったテキスト内容を出力します。最後に、fclose関数を使用してファイルを閉じます。
freadが正常に読み取ったデータ項目の数を返却することに注意してください。返却値が0の場合、読み取りが失敗したかファイルの末尾に達しています。