fread で空のファイルを読み込もうとしています。ブロックサイズ4096、ブロック数40のファイルを作成する前に。現時点では、これらのブロックが「空」であることはわかっていますが、以下のコードのようにファイルを読み取ると、空かどうかわかりません。つまり、 nread が NULL またはそのようなものになることを期待しています。nread を何と比較する必要があるか知っていますか? ありがとうございました!
int test()
{
char buf[4096];
FILE *file;
size_t nread;
file = fopen("out/abc.store", "r");
if (file) {
while ((nread = fread(buf, 1, sizeof buf, file)) > 0)
fwrite(buf, 1, nread, stdout);
if (ferror(file)) {
/*error handling*/
}
fclose(file);
}
編集:
私はそのようなファイルを作成しました:
char *content=(char*)malloc(uintBlockSize*uintBlockCount);
memset(content,0,uintBlockSize*uintBlockCount);
...
while (i!=0)
{
check=fwrite(content,uintBlockSize, 1, storeFile);
if (check!=1)
return 1;
i--;
}