C文件边读边写

C文件边读边写

 

首先以读写方式打开(r+   w+   a+都可以,不过要注意读写位置指针分别指向文件头、文件头、文件尾),一次读一个字符(此时读写位置指针指向此字节后面,判断后,若要转换,移动读写位置指针fseek(fp,-1L,SEEK_CUR),再写入,由于在C中规定:  
    
以上述三种方式打开文件,既可读又可写,但:在没有插入fseek()rewind()的情况下,写不可以直接跟在读后面,在没有插入fseek()rewind()或碰到文件结束的情况下,读不可以直接跟在写后面。所以。。。要转换读写状态。
 
  #include   <stdio.h>  
  void   main()  
  {  
    char   ch;  
    int   i=0;  
    FILE   *fp;  
    fp=fopen("d://tc//aaa.txt","r+");  
    if(!fp)  
    {  
      printf("can   not   open   the   file!/n");  
      exit(0);  
    }  
    while(!feof(fp))  
    {  
      ch=fgetc(fp);  
      if(ch>='a'&&ch<='z')  
      {     ch=ch-32;  
            fseek(fp,-1L,SEEK_CUR);/*
向前移动1个字节
*/  
            fputc(ch,fp);  
            fseek(fp,0L,SEEK_CUR);/*
转换读写状态,并不移动
*/  
        }  
    }  
    fclose(fp);  
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值