0

新しいプログラムを開始しています。最初のステップの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

コードで何を見落としているか、何が欠けていますか?

4

0 に答える 0