C程序将文件复制到某个位置

时间:2012-04-03 15:39:32

标签: c codeblocks

我想使用c程序将文件从一个位置复制到另一个位置,任何人都可以给我一个提示,我该怎么做?

我很想到这一点,我不知道,我使用 codeblocks 来编译和编写程序。

// Please help me out... I have only included some files such as:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
#include <io.h>
int main()
{

}

帮帮我。

5 个答案:

答案 0 :(得分:3)

文件处理在代码::块中是相同的(几乎)在其他地方。

首先,创建一个FILE流:

FILE *fp;

接下来,打开它写作(“w”)并给出完整路径。

myf= fopen ("c:\\windows\\name.bat", "w");>

然后,做你的事:按照drew12或fprintf()建议的read()/ write()或任何你喜欢的东西。之后,关闭它:

fclose(*fp);

我确信你可以在任何C引用中获得所有这些,例如this

答案 1 :(得分:1)

便携式方式:

  1. 打开源文件以供阅读
  2. 创建目标文件
  3. 从源头阅读
  4. 写入目的地
  5. 特定于平台的方式:

    • 了解如何调用平台的内置复制功能(例如,在* NIX上执行/bin/cp

答案 2 :(得分:1)

你可以遵循任何路线。您没有告诉我们您是否受限于Standard-C。事实上,你包含一个表示你在Windows上的标题。对于这种类型的作业,在这种情况下使用Windows API CopyFile

答案 3 :(得分:1)

#include <stdio.h>

int main(int argc, char **argv)
{
   char buffer[1024];
   size_t num;

   while ((num = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
      fwrite(buffer, 1, num, stdout);
 }

现在你可以通过简单地调用这样的程序来复制文件:

foo&lt;输入&gt;输出

或者,您可以将输入和输出文件放在命令行上,并使用fopen()打开它们。

答案 4 :(得分:1)

你需要fopen()两个文件一个用于读取,一个用于写入,然后你创建一个缓冲区来存储临时字节。然后你需要从一个文件中读取(),并将()写入另一个文件。 完成后不要忘记关闭()文件。

伪代码示例:

fopen(path, mode);
char buff[256];
//This should be in a loop until EOF:
{
   read(file, buffer, (buffer size));
   write(file, buffer, (buffer size));
}
close(file);

这是事情的要点。如果您需要更多帮助,我建议使用手册页来确定这些功能的工作原理:例如“man fopen()”。