C语言经典习题24

文件操作习题

一 编程删除从C盘home文件夹下data.txt文本文件中所读取字符串中指定的字符,该指定字符由键盘输入,并将修改后的字符串以追加方式写入到文本文件C:\home\data.txt中。

cs 复制代码
#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文件。

cs 复制代码
#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"中。

cs 复制代码
#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);
}
相关推荐
C++ 老炮儿的技术栈24 分钟前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
inputA36 分钟前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
JANYI20181 小时前
嵌入式设计模式基础--C语言的继承封装与多态
java·c语言·设计模式
小_楠_天_问3 小时前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
秋山落叶万岭花开ღ3 小时前
C语言顺序表应用详解:从理论到实践
c语言
2301_803554523 小时前
c++和c的不同
java·c语言·c++
小狗祈祷诗4 小时前
day20-线性表(链表II)
c语言·数据结构·链表
白露秋484 小时前
C——五子棋小游戏
c语言·游戏
柒柒的代码学习日记7 小时前
C语言内存函数
c语言
whoarethenext9 小时前
c/c++爬虫总结
c语言·c++·爬虫