Hirdetés

Új hozzászólás Aktív témák

  • shev7
    veterán

    Bináris fájlt fread-el én így olvasok:

    int main()
    {
    long n = 0;
    char d;
    FILE *f;
    f=fopen(fájlnév, "rb");
    if (f == NULL) perror ("Error opening file");
    else
    {
    fread(&d,1,1, f);
    while(!feof(f))
    {
    n++;
    printf("Dec: %d\n", d);
    printf("Hex: %X\n", d);
    fread(&d,1,1, f);
    }
    fclose(f);
    printf ("Hossz: %d\n", n);
    return 0;
    }
    }

    Természetesen másképp is lehet, de ha nem vagy biztos magadban, akkor célszerű 1 hex editorral leellenőrizni az olvasási kódodat ugyanazon a fájlon, hogy valóban azt csinálja-e, amit szeretnél :)

    Ez tuti jo? Marmint a hoszt szerintem nem jol szamolja, es az utolso karaktert sem fogja kiirni.

    A reference szerint is inkabb igy kene:

    FILE * pFile;
    long n = 0;
    pFile = fopen ("myfile.txt","rb");
    if (pFile==NULL) perror ("Error opening file");
    else
    {
    while (!feof(pFile)) {
    fgetc (pFile);
    n++;
    }
    fclose (pFile);
    printf ("Total number of bytes: %d\n", n-1);
    }
    return 0;

Új hozzászólás Aktív témák