0

私が得ている理由:

fread() が失敗しました

私はVS 2010でこのコードを実行しています

#include<stdio.h>
#include<string.h>

#define SIZE 1
#define NUMELEM 5

int main(void)
{
    FILE* fd = NULL;
    char buff[100];
    memset(buff,0,sizeof(buff));

    printf(" Starting to open");

    fd = fopen("test","r+");

    if(NULL == fd)
    {
        printf("\n fopen() Error!!!\n");
        return 1;
    }

    printf("\n File opened successfully through fopen()\n");

    if(SIZE*NUMELEM != fread(buff,SIZE,NUMELEM,fd))
    {
        printf("\n fread() failed\n");
        return 1;
    }

}

4

3 に答える 3

2

のドキュメントを読んでいないためですfread()ではなくNUMELEM、 を返します。 SIZE * NUMELEM

于 2013-07-11T06:49:40.133 に答える
1

ファイルに保存されている文字数が少ない場合はどうなりますか? ファイルから読み取った文字数とコード内fread() の文字数を返します。読み取った文字数 != ファイル内の文字数

于 2013-07-11T07:07:01.067 に答える