C++中关于清除某一段文件的数据
我通过fstream iofile以二进制的形式向stu.dat中写入了3个学生的数据,现在我想清除掉文件中最后一个的数据该怎么清除啊(就相当于只写入了2个学生数据)?Student这个结构体为8字节大小(我是想做查询,所以当删除数据的时候下次不会再遍历到第三个数据那里去)
[解决办法]
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。
[解决办法]
把a的所有内容读进内存,在内存中完成修改,然后写入a
[解决办法]
全部读入,关闭文件,再以写方式打开,写入你想写的数据即可