c言語でのfread関数の使い方は何ですか?
fread関数は、ファイルを読み取るために使われるC言語の関数であり、そのプロトタイプは以下のとおりです。
void *ptrには、size_tのサイズのデータがcount個、FILE *streamから読み込まれます。
関数の機能は指定されたファイルストリームからデータを読み取り、それをptrが指すメモリ空間に保存することです。具体的なパラメータの意味は次の通りです:
- ポインタは、保存するデータのメモリ領域を指す。
- サイズ:各データ項目のバイト数を読み取る必要があります。
- count: データ項目の数。
- stream: ファイルストリームを読み込むために指定します。
関数は、実際に読み取られたデータ項目の数を返します。成功した場合は、countパラメータと同じ数であるべきであり、そうでない場合は、読み取りに失敗したかファイルの終端に到達したことを示します。
例文:
#include <stdio.h>
int main() {
FILE *file;
char buffer[100];
file = fopen("test.txt", "rb");
if (file == NULL) {
printf("打开文件失败");
return 1;
}
size_t result = fread(buffer, sizeof(char), 10, file);
if (result != 10) {
printf("读取文件失败");
return 1;
}
printf("读取的内容为:%s\n", buffer);
fclose(file);
return 0;
}
前述の例では、まず”test.txt”という名前のファイルをバイナリモードで開き、次に10バイトの内容をfread関数を使用して読み取り、buffer配列に保存します。最後に読み取った内容を出力します。ファイルのオープンや読み取りに失敗した場合、適切なエラーメッセージが表示されます。最後にファイルを閉じます。