第1个回答 推荐于2016-03-30
存储方式是链表还是数组,链表简单一些,直接读出文件中的所有数据(fp=fopen(".txt","wt")),找到要删除的信息,直接删除,再重新写入文件;如果是数组的话,也是同样的打开文件,再写入的时候判断一下,不把要删除的数据写进去就可以了,if( .id!=12345) fprintf("");写入数据本回答被提问者采纳
第2个回答 2011-12-23
如txt文件内容为:
name:A,id:12,balance:1
name:AB,id:123,balance:10
name:ABC,id:12345 ,balance:100
name:ABCD,id:12345 ,balance:1000
name:ABCDEF,id:123456 ,balance:10000
================
要删除第三条,则先定位到第四条的开头,读出后面的所有内容;然后定位到第三条的开头,写入先前读到的内容。用ftell看当前位置,chsize设置新的文件长度
fseek:定位
ftell:判断当前位置
chsize:设置文件长度
第3个回答 2011-12-23
如果你的信息是按行存储的,每次读取一行,判断是否包含输入的账户,若包含就将这一行写为空,或者使用后面的行来覆盖