| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2657 人关注过本帖
标题:c文件复制
只看楼主 加入收藏
liwangxinqi
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-5-14
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:14 
c文件复制
c语言中,文件复制如何做?
最好提供一个完整程序。
搜索更多相关主题的帖子: c语言 
2011-06-18 07:38
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:3 
system("copy(文件)(里面具体的命令记不清了去百度。dos下复制文件的方法)");
2011-06-18 07:47
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:3 
fread和fwrite

My life is brilliant
2011-06-18 09:08
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:3 
这是复制磁盘文件的一个程序,复制的是文本文件,IDE是vc6.0,楼主自己研究研究,类似的差不多就会了

#include"stdio.h"
#include<stdlib.h>
void main(int argc,char *argv[])
{
    FILE *infp,*outfp;
    char infile[40],outfile[40];
    int c;
    if(argc<3)
        if(argc==2)
        {
            printf("output filename:");
            gets(outfile);
            argv[2]=outfile;
        }
        else
        {
            printf("input filename:");
            gets(infile);
            printf("output filename:");
            gets(outfile);
            argv[1]=infile;
            argv[2]=outfile;
        }
        if((infp=fopen(argv[1],"r"))==NULL)
        {
            printf("Can't open the %s\n",argv[1]);
            exit(1);
        }
        if((outfp=fopen(argv[2],"w"))==NULL)
        {
            printf("Can't open the %s\n",argv[2]);
            exit(2);
        }
        c=getc(infp);
        while(!feof(infp))
        {
            putc(c,outfp);
            c=getc(infp);
        }
        fclose(infp);
        fclose(outfp);
        printf("ok\n");
}
2011-06-18 13:19
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:3 
回复 2楼 qldxsun
二楼这个方法很直接。是利用dos命令实现的。
但是不具有通用性。linux下就没有这个system函数。

四楼的方法用c的文件操作是比较常规的做法。应该说是一个比较能够被大多数人接受的答案。

[ 本帖最后由 南国利剑 于 2011-6-18 20:29 编辑 ]

南国利剑
2011-06-18 20:27
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:0 
回复 5楼 南国利剑
版主能否指点一下,那天在电脑(win7)上装了MyTC5.4.1,但是发现无论输进去什么函数,点击运行末尾会说
   错误:0  警告:0
 但是没有运行结果。。。
2011-06-18 21:09
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:0 
回复 5楼
说的好!学习了!
但是非文本或2进制文件怎么做呢?

[ 本帖最后由 qldxsun 于 2011-6-18 21:43 编辑 ]
2011-06-18 21:41
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:0 
回复 7楼 qldxsun
使用字输出函数putw()和字输入函数getw()
例如:putw(w,fp)就是把整形数据w写入fp所指向的文件
      getw(fp)是读取fp所指向的文件的整形数
2011-06-18 23:19
iFreeBSD
Rank: 4
等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
收藏
得分:3 
以下是引用南国利剑在2011-6-18 20:27:51的发言:

二楼这个方法很直接。是利用dos命令实现的。
但是不具有通用性。linux下就没有这个system函数。

四楼的方法用c的文件操作是比较常规的做法。应该说是一个比较能够被大多数人接受的答案。


system 是标准C库中的函数,只要是支持标准C的编译器都有这个函数。注意自己的发言省得在这误导新人,好歹你也是个版主,有人把你当偶像,请注意自己的形象。

[ 本帖最后由 iFreeBSD 于 2011-6-18 23:35 编辑 ]

without further ado, let’s get started
2011-06-18 23:30
hugh浪迹
Rank: 2
等 级:论坛游民
帖 子:30
专家分:39
注 册:2011-6-17
收藏
得分:0 
回复 9楼 iFreeBSD
。。。能否帮忙解答一下在八楼的问题,好纠结。。。万分感激
2011-06-19 00:03
快速回复:c文件复制
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013669 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved