1

我有一个文件 IO 系统,我在其中存储 structres 在代码中我想一个一个地读取所有结构,并将每个结构中的变量“pay”设置为 0,然后在文件中再次写入

long int recsize;
recsize=sizeof(payment);
f=fopen("C:\\HOTEL.DAT", "rb+");
if(f == NULL){
    clrscr();
    cprintf("File could not be opened!");
    sleep(4);
    exit(0);
}

while(fread(&payment, recsize, 1, f) == 1){
            payment.pay=0;
            fseek(f, -recsize, SEEK_CUR);
            fwrite(&payment, recsize, 1, f);
 }

我收到一个运行时错误它不会更改所有结构中的变量它会更改其中一些结构中的变量

4

1 回答 1

0

我建议不要尝试将您的数据作为二进制 blob 读取,并坚持读取单个字段。它更加健壮,特别是如果你甚至想改变你的结构

于 2013-10-01T04:07:04.223 回答