io进程day1

文件下载

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	//打开两个文件
	FILE *src_fp=fopen("./src_file1","r+");
	FILE *dest_fp=fopen("./dest_file1","w+");

	if(src_fp==NULL||dest_fp==NULL)
	{
		printf("file not find\n");
		return -1;
	}
	//从源文件按字节逐个读取,写入到目标文件中
	int ch;
	while((ch=fgetc(src_fp))!=EOF)
	{
		fputc(ch,dest_fp);
	}
	//关闭两个文件
	fclose(src_fp);
	fclose(dest_fp);
	printf("download success\n");

	return 0;
}

计算文件字节,和行数

#include<stdio.h>
int main(int argc, const char *argv[])
{
	//定义计数变量
	int bytecount=0,line=0;
	int last_char=-1;
	//打开文件
	FILE *fp=fopen("./src_file2","r+");
	if(fp==NULL)
	{  
		printf("file open error");
		return -1;
	}
	//逐个字节计算字节数,遇见\n则计算行数,末尾可能没有换行符,再补加
	int ch;
	while((ch=fgetc(fp))!=EOF)
	{
		bytecount++;
		if(ch=='\n')
			line++;

		last_char=ch;//确保最后一个字符,不是EOF

	}

	//补算加
	if(bytecount>0&&last_char!='\n')
		line++;

	//输出统计结果
	printf("字节:%d个字节\n行数:%d行\n",bytecount,line);
	
	//关闭文件
	fclose(fp);

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值