gpt4 book ai didi

c++ - 使用 fstream 覆盖 C++ 文件中的数据

转载 作者:行者123 更新时间:2023-11-30 00:59:39 25 4
gpt4 key购买 nike

您好,我想覆盖特定文件中的内容(对象),我已经设置了位置,但它总是添加到文件的末尾

代码

 int InputIO::editPatient(int location,Obj P){

int positon=location*sizeof(P);
f.open("File.dat",ios::in|ios::out|ios::app|ios::binary|ios::ate);
f.seekp(0,ios::beg);
f.seekp(positon,ios::cur);
f.write((char*)&P,sizeof(Movie));
f.close();

return 0;



}

最佳答案

不要使用 ios::app 标志(代表append)。当您使用此标志时,它会阻止您在打开文件之前读取或写入文件中存在的任何内容——您只能将新内容添加到末尾(并且由于您以读+写模式打开,您可以重新读取您编写的内容并重写它,但您仍然无法获取它之前的数据)。

关于c++ - 使用 fstream 覆盖 C++ 文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com