新しいプログラムを開始しています。最初のステップの1つは、前のプログラムで作成されたファイルを読み取ることです。プログラムがfseek()
行と行の間で実行されない場合fread()
、次のエラーが発生します。
debug assertion failed
expression:(stream!=NULL)
私のコードは次のとおりです。
#include <stdio.h>
#include <string.h>
int main (void)
{
int m = 0;
char stream[20];
FILE *fp;
/* opens a file which had data written into it in a previous program */
fp = fopen("codetree.bin", "r");
/* makes sure the file pointer is set at the beginning of the file */
fseek(fp, 0, SEEK_SET);
m = sizeof(stream);
fread(&stream, m, 1, fp);
/* ... */
}
次の行を追加して、fopenが成功したかどうかを確認するとします。
if (fp == NULL) {
printf("fopen() error...%s\n", strerror(errno));
}
次のエラーが発生します。
no such file or directory exists
コードで何を見落としているか、何が欠けていますか?