文件操作习题
一 编程删除从C盘home文件夹下data.txt文本文件中所读取字符串中指定的字符,该指定字符由键盘输入,并将修改后的字符串以追加方式写入到文本文件C:\home\data.txt中。
#include<stdio.h>
main()
{ char s[100],ch; int i;FILE *fp;fp=fopen("c:\\home\\data.txt","r"); //打开文件fgets(s,100,fp); //读文件fclose(fp);scanf("%c",&ch); //指定字符输入for(i=0;s[i]!='\0';) //删除指定字符if(s[i]==ch)strcpy(s+i,s+i+1);else i++;fp=fopen("c:\\home\\data.txt","a");fputs(s,fp); //字符串写入文件fclose(fp); //关闭文件}
二 在主函数中输入两个整数x和y,将从F盘根目录下的file.txt文件读入的字符串,从第x个字符开始,删除y个连续的字符,并将修改后的字符串以追加方式写入file.txt文件。
#include <stdio.h>
main()
{ char s[100];int i,x,y;FILE *p; scanf("%d%d",&x,&y); p=fopen("d:\\file.txt","r");/ //打开文件fgets(s,100,p); //读文件puts(s);strcpy(s+x-1,s+x+y-1); //删除指定长度字符puts(s); fclose(p);p=fopen("d:\\file.txt","a");fprintf(p,"\n%s",s); fclose(p); //关闭文件
}
三 编程统计C盘home文件夹下文本文件“file.txt”中字符‘+’和‘-’分别出现的次数,并将统计的结果写入到同个文件夹中的文本文件“res.txt”中。
#include <stdio.h>
main()
{ FILE *fp;int n=0,m=0; char ch; fp=fopen("c:\\home\\file.txt","r"); // 打开文件while(!feof(fp)) { ch=fgetc(fp);if(ch=='+') m++;else if(ch=='-') n++;}fclose(fp); // 关闭文件fp=fopen("c:\\home\\res.txt","w"); //再次打开文件fprintf(fp,"一共有%d个+和%d个-。\n",m,n);fclose(fp);
}