C++中有没有复制文件的函数?
展开全部
C++只是一种语言而已,使用这种语言的编译器并不仅仅是Turbo C一个。不同的编译器使用的函数也不尽相同。
如果你使用的编译器是Turbo C,那你应该使用system()函数,该函数的声明如下:
int system(const char *command);
该函数允许你向操作系统发送DOS命令以实现你的目的,比如:
system("copy FileA.exe FileB.exe");
在基于Windows平台的高级编译环境中,编译器通常会使用一些Windows API函数来实现一些更加丰富的功能。
在BCB、VC中,你可以直接使用Windows API函数,而这些函数就如同编译器自身的函数一样。在Windows API中,用于复制文件的函数是CopyFile(),该函数的声明如下:
BOOL CopyFile(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
BOOL bFailIfExists // 告诉系统当目标文件存在时如何操作
);
当bFailIfExists为true时,如果目标文件存在,则函数执行失败;当bFailIfExists为false时,如果目标文件存在,则覆盖目标文件。
举例:
CopyFile("c:\\FileA.exe","d:\\FileA.exe",false);
当然,你也可以使用文件操作函数来实现文件复制功能,条条大路通罗马,成功的路不止一条,就看你喜欢如何去做了。
如果你使用的编译器是Turbo C,那你应该使用system()函数,该函数的声明如下:
int system(const char *command);
该函数允许你向操作系统发送DOS命令以实现你的目的,比如:
system("copy FileA.exe FileB.exe");
在基于Windows平台的高级编译环境中,编译器通常会使用一些Windows API函数来实现一些更加丰富的功能。
在BCB、VC中,你可以直接使用Windows API函数,而这些函数就如同编译器自身的函数一样。在Windows API中,用于复制文件的函数是CopyFile(),该函数的声明如下:
BOOL CopyFile(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
BOOL bFailIfExists // 告诉系统当目标文件存在时如何操作
);
当bFailIfExists为true时,如果目标文件存在,则函数执行失败;当bFailIfExists为false时,如果目标文件存在,则覆盖目标文件。
举例:
CopyFile("c:\\FileA.exe","d:\\FileA.exe",false);
当然,你也可以使用文件操作函数来实现文件复制功能,条条大路通罗马,成功的路不止一条,就看你喜欢如何去做了。
展开全部
C++语言没有复制文件的函数。不但如此,常见的任何编程语言也都没有。在C++程序中复制文件,如果讲究运行效率的话就需要自己编一个复制函数,如果图方便的话就直接使用操作系统命令。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实直接的没有, 但是你可以写一个拷贝文件的批处理, 然后在程序中调用它不就完了么, 还有也可以使用文件操作函数完成拷贝, 先创建一个文件, 然后, 将源文件的内容全部读到这个新文件中.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2007-03-20 · 知道合伙人数码行家
关注
展开全部
没有,复制文件要调用操作系统的API或者用文件操作语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 以只读方式打开第一个文件
2 以写方式打开第二个文件
3 循环读取字符,并写入第二个文件。直到遇到EOF结束。
4 关闭文件。
代码:
#include <stdio.h>
int main()
{
FILE *f1, *f2;
int c;
f1 = fopen("in.txt", "rb");
f2 = fopen("out.txt", "wb");//将in.txt复制为out.txt;
while((c = fgetc(f1)) != EOF)
fputc(c,f2);
fcloseall();
return 0;
}
2 以写方式打开第二个文件
3 循环读取字符,并写入第二个文件。直到遇到EOF结束。
4 关闭文件。
代码:
#include <stdio.h>
int main()
{
FILE *f1, *f2;
int c;
f1 = fopen("in.txt", "rb");
f2 = fopen("out.txt", "wb");//将in.txt复制为out.txt;
while((c = fgetc(f1)) != EOF)
fputc(c,f2);
fcloseall();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |