首页 > 其他分享 >文件IO练习题1

文件IO练习题1

时间:2024-05-08 19:24:16浏览次数:23  
标签:练习题 文件 拷贝到 fpA 函数 argv IO 文本

利用标准IO函数接口实现文件拷贝,把本地磁盘的文件A中的数据完整的拷贝到另一个文本B中,如果文本B不存在则创建,要求文本A的名称和文本B的名称通过命令行传递,并进行验证是否正确。

/*************************************************
 *
 *   file name:Pro_StuInfo.c
 *   author   :[email protected]
 *   date     :2024/05/08
 *   function :
 *   note     :None
 *
 *   CopyRight (c) 2024    [email protected]    All Right Reseverd
 *
 **************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

/*************************************************
 *
 *   函数名称:func
 *   函数功能:利用标准IO函数接口实现文件拷贝,把本地磁盘的文件A中的数据完整的拷贝到另一个文本B中,
 *           如果文本B不存在则创建,要求文本A的名称和文本B的名称通过命令行传递,并进行验证是否正确。
 *   函数参数:
 *            @argc:由终端传入的参数的个数
 *            @argv:由终端传入的指针数组
 *   返回结果:None
 *   注意事项:None
 *   函数作者:[email protected]
 *   创建日期:2024/05/08
 *   函数版本:V1.0
 **************************************************/

int main(int argc, char const *argv[])
{
    // 1.判断用户传递的函数是否有效
    if (3 != argc)
    {
        printf("argment is invalid!\n");
        exit(-1);
    }

    // 2.打开需要拷贝的文件并做错误处理
    FILE *fpA = fopen(argv[1], "rb");
    if (fpA == NULL)
    {
        perror("fopen fileA error!\n");
        exit(-1);
    }

    // 3.打开需要拷贝到的目标文件并做错误处理
    FILE *fpB = fopen(argv[2], "wb");
    if (fpB == NULL)
    {
        perror("fopen fileB error!\n");
        exit(-1);
    }

    // 4.将文件A中的内容拷贝到文件B中

    while (1)
    {
        if (feof(fpA))
        {
            break;
        }
        fputc(fgetc(fpA), fpB);
    }

    fclose(fpA);
    fclose(fpB);

    return 0;
}

运行结果
image

标签:练习题,文件,拷贝到,fpA,函数,argv,IO,文本
From: https://www.cnblogs.com/bell-c/p/18180694

相关文章

  • uniapp 新建文件
    uniapp新建文件支持ios和androidfunctioncreateFile(bases64,item,savedFilePathOne){//请求文件系统plus.io.requestFileSystem(plus.io.PRIVATE_DOC,function(fs){//letstorageAddress=fs.root.toURL();//创建文件fs.root.getFile......
  • org.apache.catalina.LifecycleException: Protocol handler start failed
    出现问题org.apache.catalina.LifecycleException:Protocolhandlerstartfailed,是因为端口号被占用1、按键盘上windows+R,输入CMD(不区分大小写)2、输入netstat-ano回车,查看所有进程(注意”-“前面有空格)3、输入netstat-ano|findstr"端口号"(注意”-“前面有空格)4、输入ta......
  • Elements in iteration expect to have 'v-bind:key' directives.
    当组件中使用v-for时,如果不指定key,则会有红色警告信息。解决方案如下。方案一:绑定key(亲试有效)//方式一<liv-for="(item,index)inlist":key="index">//方式二<liv-for="(item,index)inlist":key="item.id">//方式三<liv-for="(item,in......
  • 如何从多个文件夹内转移全部文件(忽略文件夹的结构)(进行复制)(再打包)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 04文件夹里面有只有1个名称为"1"的文件夹,“1”里面有“2”,“2”有“3”,“3”有“4”,从“1”开始,都有5个兔兔的图片,这是“1”里面的文件夹结构,现在要做的就是忽略文件夹结构,提取出全部的兔兔图片合并成一个压缩......
  • 如何把多个文件(夹)向下移动1层(在复制前或后进行)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 先看一下文件夹的结构,一共4个文件夹,1-4编号,每个里面都有兔兔的图片,作为操作说明(实际就按自己要处理的文件)打开工具,切换到“文件批量复制”的版块思路:先把4个文件夹拖入到“来源路径”里,整理一下,去掉1......
  • MySQL配置文件
    一.Linux1.MySQL5.7**MySQL5.7配置文件示例(适用于Linux)**[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#服务器端口port=3306#MySQL的安装目录basedir=/usr/local/mysql#MySQL的数据目录datadir=/var/lib/mysql#错误日志文件......
  • GeometryCollection 的类型映射器(TypeHandler)
    byemanjusakafromhttps://www.emanjusaka.top/2024/05/mybatis-typeHandler-geometryCollection彼岸花开可奈何本文欢迎分享与聚合,全文转载请留下原文地址。GeometryCollection是GeoJSON数据模型中的一个类型,用于表示一个几何对象的集合。MySQL8中支持了GeometryCol......
  • 为什么在有@Transactional注解的方法,一定要加rollbackFor异常回滚的异常类型?
    在spring项目中,@Transactional注解默认会回滚运行时异常(RuntimeException)及其子类当你在一个有@Transactional注解方法里面抛了一个Expection类型的异常,呢它是不支持事务回滚的,异常继承体系我们在一个方法里面要对事务进行操作,如果要抛异常,应该抛出untimeException,不能直接......
  • 把.nuget文件夹从C盘移到其它盘
    C盘是系统盘,考虑到很多程序都会占用系统盘资源,所以500G的固态硬盘究竟,一开始C盘就划了300G的大小。但即便这样,不知不觉中,C盘的空间也快不够用了。分析了一下C盘的空间占用情况,发现.nuget文件夹大概有40多G的大小。这个不能忍,直接上网搜了一下移到其它盘的方法。下面我写一下我的......
  • UIOTOS前端零代码应用 蓝图连线+嵌套封装 实现MQTT输入0、1切换门禁开和关
    目标通过连线+嵌套封装,实现MQTT数据推送前端控制门禁开关最终效果实现过程步骤1:新建一个页面,在工具函数input输入两个门禁的开关图标地址,再通过连线和解析实现输0、1切换图标。 步骤2:再插入图片按钮,通过连线和解析,把工具函数的输出传递给图片按钮组件的path属性。 步骤......