fgets、fputs的使用

1》使用fgets统计给定文件的行号

     1	#include<myhead.h>
     2	int main(int argc, const char *argv[])
     3	{
     4		//判断输入文件
     5		if(argc != 2)
     6		{
     7			perror("error");
     8			return -1;
     9		}
    10	
    11		FILE *fp=NULL;
    12		if((fp=fopen(argv[1],"r"))==NULL)
    13		{
    14			perror("fopen error");
    15			return -1;
    16		}
    17	
    18		char buf[128]="";
    19		int count=0;
    20		while(1)
    21		{
    22			bzero(buf,sizeof(buf));  //清空容器
    23	
    24			if(fgets(buf,sizeof(buf),fp)==NULL)
    25			{
    26				break;
    27			}
    28			count++;
    29		}
    30		printf("该文件共有%d行\n",count);
    31		return 0;
    32	}

2》使用fgets、fputs完成两个文件的拷贝

     1	#include<myhead.h>
     2	int main(int argc, const char *argv[])
     3	{
     4		//判断是否有需要的文件
     5		if(argc!=3)
     6		{
     7			perror("error");
     8			return -1;
     9		}
    10	
    11		//打开文件
    12		FILE *afp=NULL;                         //a文件的打开
    13		if((afp=fopen(argv[1],"r"))==NULL)
    14		{
    15			perror("file error");
    16			return -1;
    17		}
    18		FILE *bfp=NULL;                         //b文件的打开
    19		if((bfp=fopen(argv[2],"w"))==NULL)
    20		{
    21			perror("flie error");
    22			return -1;
    23		}
    24	
    25	
    26		//实现将a文件拷贝给b文件
    27		char buf[128]="";
    28		while(1)
    29		{
    30	      	bzero(buf,sizeof(buf));        //容器清空
    31		
    32		//	memset(buf,0,sizeof(buf));	
    33				
    34			if(fgets(buf,sizeof(buf),afp)==NULL) 
    35			{
    36				break;	
    37			}
    38			fputs(buf,bfp);              //放入bfp中
    39			
    40	
    41		}
    42	//	fclose(afp);
    43	//	fclose(bfp);
    44	
    45	
    46		return 0;
    47	}

思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值