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

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

时间:2024-05-09 15:23:14浏览次数:23  
标签:fp 文件 ch 名称 file 拷贝 文本

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

/*******************************************************************
*	author	 :  [email protected]
*	date	 :  2024/05/09
*	function :  利用标准IO函数接口实现文件拷贝
* 	note	 :  None
*	CopyRight (c)  2023-2024   [email protected]   All Right Reseverd 
*
* *****************************************************************/
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char const *argv[])
{
	//待拷贝文件的路径需要通过命令行传递,则需要分析命令行参数数量是否符合需求
    if(3 != argc)
    {
        printf("argument is invalied");
        exit(1);
    }
    //打开待拷贝文件(rb)
    FILE *file = fopen(argv[1],"rb");
    if(NULL == file)
    {
        perror("open file failed");
        return -1;
    }
    //打开目标文件(wb)
    FILE *fp = fopen(argv[2],"wb");
    if(NULL == fp)
    {
        perror("open fp failed");
        return -1;
    }
    //循环将已读取到的字符写入到目标文件
    int ch = fgetc(file);
    while(ch != EOF)
    {
        fputc(ch,fp);//将字符写入到目标文件
        ch = fgetc(file);//读取下一个字符
    }
    //输出待拷贝文件文本大小
    printf("file size = %ld\n",ftell(file)); 
    //输出目标文件文本大小
    printf("fp size = %ld\n",ftell(fp));
    //关闭文件
    fclose(file);
    fclose(fp);
    return 0;
}

标签:fp,文件,ch,名称,file,拷贝,文本
From: https://www.cnblogs.com/lwj294/p/18182351

相关文章

  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。在OA办公、文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成。后端代码在后端编写代码调用webOpen方法......
  • 文件IO学习【一】
    目录计算机的组成部分硬件系统软件系统文件系统Linux系统的目录根文件系统说明目录的结构分析Linux的文件类型计算机的组成部分硬件系统计算机的硬件主要是由五部分组成:控制器、运算器、存储器、输入设备、输出设备。运算器和控制器的总称是中央处理器(CPU),指的是计算机中对......
  • Python高级之名称空间和作用域
    【一】名称空间【1】什么是名称空间名称空间就是存放函数名与函数值对应关系的地方内存空间就是申请一块内存空间,然后将函数值放到内存空间里再将变量名和变量值绑定存到名称空间里程序执行期间最多会存在三种名称空间【2】内置名称空间会跟着python解释器的启动而生成,......
  • text_blind_watermark%3A 给文本加隐水印
    项目简介文本隐水印,用来把一段信息嵌入到一段明文中,使信息隐密不可见,并且旁人无法察觉到嵌入后明文的变化。经测试,在这些场景下信息隐藏比较完美MacBook版本的Chrome浏览器,包括知乎网页版、微博网页版等。微信、钉钉。Mac/Iphone版均可苹果备忘录用Chrome打开github......
  • LangSegment:多语言(97种语言)的混合文本自动分词工具
    项目简介它是一个强大的多语言(97种语言)的混合文本自动分词工具。[中日英韩:已测试]主要用途:它非常适合各种TTS语音合成项目,多语种混合文本的前端推理,和预处理后端训练。它基于py3langid的扩展实现(>=python3.6)。LangSegmentItisamulti-lingual(97languages)textcon......
  • C:$Mft(NTFS主文件表)C:$LogFile(NTFS卷日志)C:$BitMap(NTFS可用空间映射) C:$Mft$BITMAP C
    C:$Mft(NTFS主文件表)是NTFS文件系统中的一个重要组成部分。它是一个特殊的系统文件,用于记录NTFS分区中所有文件和目录的元数据信息。MFT实际上是MasterFileTable的缩写,意为主文件表。在NTFS文件系统中,每个文件和目录都有一个对应的记录,这些记录存储在MFT中。MFT中的每个记录......
  • 如何把多个文件(夹)随机复制到多个文件夹中
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 先看文件的情况一共20个兔兔的图片,4个文件夹,把全部的图片随机的复制这些地方去打开工具,切换到文件批量复制版块找到右下角的设置,点击打开勾选“随机复制”,把文件进行随机的复制选中全部的兔兔图片,Ct......
  • 如何把多个文件(夹)平均复制到多个文件夹中
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定的情况是,共有20个兔兔的图片,想要平均的复制4个文件夹里,那么每个文件夹里面就有5个图片(如果是5个,那每个自然是4个,具体除数是多少,根据实际情况即可)打开工具,切换到文件批量复制版块找到右下角的设置,点......
  • 如何把多个文件(夹)向上移动1层(或多层)(在批量复制前或后进行)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定情况是,我要把下图里的4个文件夹内部的全部文件,合并到04的当前位置来(4个文件夹里面各有5个兔兔的图片)打开工具,切换到文件批量复制版块找到右下角的更多,点击,来设置上移的情况勾选“来源路径”向上......
  • .gitignore 全局忽略提交特定文件夹,不限路径递归忽略
    创建或修改全局.gitignore文件:在命令行中执行以下命令来创建或修改全局的.gitignore文件gitconfig--globalcore.excludesfile~/.gitignore_global如果文件已存在,则此命令会确保Git使用正确的文件。接下来,编辑这个文件(如果它不存在,这一步骤也会创建它):touch~/.gitig......