【经典C程序】从一个文件拷贝内容到另一个文件

本文档展示了如何使用Vim编辑器的getc和fputc函数实现文件'test.c'的逐字符复制,并演示了按行读取并写入到'test3.c'的代码片段。通过实例介绍了文件操作和基本I/O操作在C语言中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

vim copy_file.c

#include <stdio.h>
#include <string.h>

int main(void)
{
        char ch;
        char strbuf[200];

        FILE *fp1;
        FILE *fp2;
// 按字符读
        if (fp1 = fopen("test.c", "r")){
                ch = getc(fp1);
                fp2 = fopen("test2.c", "w+");
                while(ch != EOF)
                {
                        fputc(ch, fp2);
                        ch = getc(fp1);
                }

                fclose(fp1);
                fclose(fp2);
                // return 0;
        }

// 按行读
        if (fp1 = fopen("test2.c","r"))
        {
                printf("open test2 ok\n");
                fp2 = fopen("test3.c", "w+");
                memset(strbuf, 0, sizeof(strbuf));
                while(fgets(strbuf, 200,fp1) != 0 )
                {
                        fprintf(fp2,"copy: %s", strbuf);
                        memset(strbuf, 0, sizeof(strbuf));
                }
                fclose(fp1);
                fclose(fp2);

        }
        return 1;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值