0

次のコードを使用して、ファイルから4バイトを読み取ろうとします。

FILE *f

uint32_t read_program(int A)
{
    long i;
    uint32_t strofprog;
    uint8_t tmp;
    i = 4*A;
    fseek(f,i,0);// set a position in file
    if((tmp = getc(f)) != EOF)
    {
        while((i%(4*A)) < 4)
        {
            fseek(f, i, SEEK_SET);
            tmp = getc(f);
            strofprog = tmp;
            strofprog <<= 8;
            i++;
        }
        return strofprog;
    }
    else
    { 
        fclose(f);
        return -1; 
    };
}

ただし、実行すると、次のエラーが発生します。

main.c: In function ‘read_program’:
main.c:77: error: incompatible type for argument 1 of ‘fseek’
/usr/include/stdio.h:722: note: expected ‘struct FILE *’ but argument is of type ‘FILE’

何が間違っているのですか、どうすれば修正できますか?

4

1 に答える 1

2

ペーストの85行目:

fseek(*f,i,0);// set a position in file

@unwindによって疑われるように。

于 2012-04-15T14:23:26.840 に答える