我想使用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()
{
}
帮帮我。
答案 0 :(得分:3)
文件处理在代码::块中是相同的(几乎)在其他地方。
首先,创建一个FILE流:
FILE *fp;
接下来,打开它写作(“w”)并给出完整路径。
myf= fopen ("c:\\windows\\name.bat", "w");>
然后,做你的事:按照drew12或fprintf()建议的read()/ write()或任何你喜欢的东西。之后,关闭它:
fclose(*fp);
我确信你可以在任何C引用中获得所有这些,例如this。
答案 1 :(得分:1)
便携式方式:
特定于平台的方式:
/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()”。