具体显示方法如下:
int main()
{
int i
FILE *data
data = fopen("peding.txt", "w")
if(!data) {
perror("对不起,文件找不到")
return 1
}
/*循环写入100次 */
for(i = 0i <100i++)
writedata(data)
fclose(data)
return 0
}
/*写入内容不 *** 作*/
void writedata(FILE *data)
{
//刷新缓冲区
/* do other stuff */
...
}
1、重建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名")把原文件删除,用rename("临时文件名","原文件名")把临时文件名改为原文件名就OK了。
2、比如要按题面要求在原文件123.txt中删除编号为2和4的信息行,则可用以下代码实现:
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"
#include "stdlib.h"
int main(void){
FILE *fin,*ftp
char a[1000]
fin=fopen("123.txt","r")//读打开原文件123.txt
ftp=fopen("tmp.txt","w")//写打开临时文件tmp.txt
if(fin==NULL || ftp==NULL){
printf("Open the file failure...\n")
exit(0)
}
while(fgets(a,1000,fin))//从原文件读取一行
if(a[0]!='2' && a[0]!='4')//检验是要删除的行吗?
fputs(a,ftp)//不是则将这一行写入临时文件tmp.txt
fclose(fin)
fclose(ftp)
remove("123.txt")//删除原文件
rename("tmp.txt","123.txt")//将临时文件名改为原文件名
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)