繁体   English   中英

在循环中读取fwrite时出错-C

[英]Error in fread fwrite in loop - C

我有一个文件IO系统,在其中存储结构体。在代码中,我想一一读取所有结构体,并在每个结构体中将变量“ 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);
 }

我遇到了运行时错误,它没有在所有结构中更改变量,而在某些结构中更改了变量

我建议不要尝试将您的数据读取为二进制Blob,而要坚持读取单个字段。 它要健壮得多,尤其是当您甚至想要更改结构时

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM