代码之家  ›  专栏  ›  技术社区  ›  Sudantha

使用FScript改写C++文件中的数据

  •  1
  • Sudantha  · 技术社区  · 15 年前

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

    代码

     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;
    
    
    
            }
    
    2 回复  |  直到 15 年前
        1
  •  5
  •   Adam Rosenfield    15 年前

    不要使用 ios::app 旗子(代表 追加 )当您使用此标志时,它会阻止您在打开文件之前读取或写入该文件中的任何内容--您只能在结尾处添加新内容(并且由于您是在读+写模式下打开的,所以您可以重新读取并重写您所写的内容,但仍然无法访问该数据a在它之前)。

        2
  •  1
  •   Sudantha    15 年前

    只需解决这个问题就必须删除iOS::app(app end)append始终添加到文件末尾