NDK C语言 文件的复制

文件的复制

/**
 * 文件的复制
 */

#include <stdio.h>
#include <stdlib.h>

int main() {
    // 目标文件
    char *fileName = "E:\\CProject\\file\\string.txt";
    // Copy文件
    char *fileCopyName = "E:\\CProject\\file\\stringCopy.txt";
    // rb 读取二进制数据
    FILE *file = fopen(fileName, "rb");
    // wb 写入二进制数据
    FILE *fileCopy = fopen(fileCopyName, "wb");
    if (!file || !fileCopy) {
        printf("文件打开失败,查看文件路径!\n");
        exit(0);
    }

    // 获取文件大小 SEEK_SET(开头)  SEEK_CUR(当前)  SEEK_END(结尾)
    fseek(file, 0, SEEK_END);
    // 走到这里之后:file有了更丰富的值,给你的file指针赋值,挪动的记录信息

    // 读取   刚刚给file赋值的记录信息
    // 其实此函数目的是:计算偏移的位置,ftell 从 0 开始统计到当前(SEEK_END)
    long file_size = ftell(file);
    printf("%s 文件的字节大小是:%ld\n", fileName, file_size);

    // 将文件移动回开头位置
    fseek(file, 0, SEEK_SET);
    // 定义一个容器
    int buffer[10];
    // 每次读取的长度,==0 时代表读取完毕
    int len;
    // fread 参数1:容器,参数2:每次偏移多少 char,参数3:容器大小,参数4:目标文件
    while ((len = fread(buffer, sizeof(char), 10, file)) != 0) {
        // fwrite 参数1:容器,参数2:每次偏移多少 int,参数3:写入长度,参数4:copy文件
        fwrite(buffer, sizeof(char), len, fileCopy);
        printf("文件读取的长度 %d\n", len);
    }
    printf("文件的复制成功!\n");
    // 关闭文件
    fclose(file);
    fclose(fileCopy);

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sziitjin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值