华清IOday1 24-7-26

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

#include<myhead.h>
int main() {
    FILE *file;
    char line[100]; 
    int lineCount = 0;

   
    file = fopen("./231.c", "r");
    if (file == NULL) {
        perror("Error opening file");
        return -1;
    }
	while (fgets(line, sizeof(line), file) != NULL) {
        printf("Read line: %s", line);

        lineCount++;
    }   
    fclose(file);

 
    printf("一共有: %d行\n", lineCount);

    return -1;
}

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

两个方法只是while内部if的条件判断有区别

方法1

#include<myhead.h>
int main(int argc, const char *argv[])
{
	FILE *src = NULL;
	if((src = fopen("./04open.c","r"))==NULL)
	{
		perror("src errof");
		return -1;
	}
	FILE *dest =NULL;
	if((dest = fopen("./dest.txt","w+"))== NULL)
	{
		perror("dest error");
		return -1;
	}
	char buf[100] = "";
	while(1)
	{
		bzero(buf,sizeof(buf));
		fgets(buf,sizeof(buf),src);
		if(buf[0] == '\0')
		{
			break;
		}
		fputs(buf,dest);
	}
	printf("拷贝成功\n");

	return 0;
}

方法2

#include<myhead.h>
int main(int argc, const char *argv[])
{
	FILE *src = NULL;
	if((src = fopen("./04open.c","r"))==NULL)
	{
		perror("src errof");
		return -1;
	}
	FILE *dest =NULL;
	if((dest = fopen("./dest.txt","w+"))== NULL)
	{
		perror("dest error");
		return -1;
	}
	char buf[100] = "";
	
	while(1)
	{
		bzero(buf,sizeof(buf));
		if(fgets(buf,sizeof(buf),src)==NULL)
		{
			break;
		}
		fputs(buf,dest);
	}
	printf("拷贝成功\n");

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值