IO进程---day2

1、使用fread和fwrite完成两个文件的拷贝,要求源文件和目标文件由外界输入

cpp 复制代码
#include<myhead.h>
int main(int argc, const char *argv[])
{
    //判断传入的文件个数是否为3
    if(argc != 3)
    {
        fprintf(stderr, "input file error\n");
        fputs("usage:./a.out srcfile destfile\n", stderr);
        return -1;
    }

    //以读写的形式打开源文件
    FILE *srcfp = fopen(argv[1], "r+");
    if(srcfp ==NULL)
    {    
        perror("srcfile open error");
        return -1;
    }
 //以写的形式打开目标文件
    FILE *destfp = fopen(argv[2], "w");
    if(destfp == NULL)
    {
        perror("destfile open error");
        return -1;
    }

    //定义一个中间字符数组
    char arr[10] = "";
	//int res;

        //从源文件中读取数据放入字符数组中
	 while(1)
	 {
		 int res = fread(arr, 1, 1, srcfp);
		//res为0,读取结束
		if( res<1 )
		{
			break;
		}
		 //将读取的字符串写入到新文件中
      	fwrite(arr,1,1,destfp);
	 }

    //关闭文件
    fclose(srcfp);
    fclose(destfp);
    return 0;
}

2、 使用fgets获取当前文件的总行数,并向文件中每一秒打印当前系统时间

3、思维导图

相关推荐
忘了ʷºᵇₐ5 小时前
在IDEA 2024.1版本中如何打开Remote Host及连接linux
linux·运维·服务器
零K沁雪6 小时前
Linux 内核中与网络地址相关的函数
linux·内核
steins_甲乙8 小时前
# 从 0 做一个小型内存泄漏检测器:开篇与架构设计
linux
蒸蒸yyyyzwd9 小时前
后端学习笔记 day4
linux·笔记·学习
upp9 小时前
[最新版本centos 10系统制作与安装]
linux·运维·centos
ShineWinsu9 小时前
对于Linux:进程优先级、进程切换以及进程调度的解析
linux·面试·笔试·进程·进程切换·进程调度·进程优先级
Kira Skyler11 小时前
kprobe函数入口时的汇编跳板执行流程与栈帧机制
linux·汇编
桌面运维家11 小时前
VHD/VHDX 数据守护:BAT位图校验与修复
linux·服务器·网络
pupudawang11 小时前
Linux下安装Nginx服务及systemctl方式管理nginx详情
linux·运维·nginx
零K沁雪11 小时前
Linux 内核遍历宏介绍
linux·内核