重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你把前面删除的数据用一个变量保存起来,程序退出之前写入另外一个文件。这样再恢复的时候,从这个文件读入前面删除的数据,就行了。
成都创新互联专注于企业成都全网营销推广、网站重做改版、兴平网站定制设计、自适应品牌网站建设、H5开发、商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为兴平等各大城市提供网站开发制作服务。
错在 a 数组的再次赋值上了,你代码上写的:a=&c[i]; 并不能覆盖数组 a 的数据。要知道 fun 函数中的指针a 虽然和 man 函数的数组 a 名字相同,但是是两个不同的变量。
// tandong.cpp : 定义控制台应用程序的入口点。
while(!feof(fp){...}进行文件复制时,目标文档总会比源文档多一些,因为当while(!feof(fp){...}执行到最后一个字符时,程序依然没有结束,if()任然被调用执行操作,所以输出的是-1。
方法: 删除就是将其下标所在位置的中的内容置为空(也就是0),然后从此位置开始,后面的内容前移,再把最后那个位置的置为空(就是0)。前移无非就是 类似 arr[ i - 1] = arr[ i ] 这个意思。
重建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove(原文件名);把原文件删除,用rename(临时文件名,原文件名);把临时文件名改为原文件名就OK了。
普通数组的删除是将后面的数据向前移动,达到覆盖掉的效果 比如:a[4]要删除第二个元素。那么把a[1]= a[2];a[2]= a[3];最后一个不要动,也最好别去访问它,就相当于把第二个元素删除了。
参数stream 为已打开的文件指针,参数offset 为根据参数whence 来移动读写位置的位移数。
首先我们输入【deleteScore】函数,先看整体代码,再一一解释。在接下来我们输入永久循环语句。再接下来,我们选择操作删除的方式。再接下来我们就可以调用删除的函数了。
参数stream 为已打开的文件指针,参数offset 为根据参数whence 来移动读写位置的位移数。
重建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove(原文件名);把原文件删除,用rename(临时文件名,原文件名);把临时文件名改为原文件名就OK了。
删除文件中的数据,比较麻烦,容易出错,比如删除某个记录(比如你定义的这个结构的一个实例数据),后面的记录都要向前面移动。
普通数组的删除是将后面的数据向前移动,达到覆盖掉的效果 比如:a[4]要删除第二个元素。那么把a[1]= a[2];a[2]= a[3];最后一个不要动,也最好别去访问它,就相当于把第二个元素删除了。