微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在linux上用c ++移动文件的更快的方法

我正试图通过使用C ++在Linux上移动文件。 问题是,源文件和目标文件夹可能位于不同的分区中。 所以我不能简单地移动文件。 好。 我决定复制文件删除文件

//----- bool copyFile(string source,string destination) { bool retval = false; ifstream srcF (source.c_str(),fstream::binary); ofstream destF (destination.c_str(),fstream::trunc|fstream::binary); if(srcF.is_open() && destF.is_open()){ destF << srcF.rdbuf(); //copy files binary stream retval = true; } srcF.close(); destF.close(); return retval; } //-----

现在我的问题。 我意识到,这个方法很慢。 100MB需要47秒。 用控制台命令简单复制一个文件需要2-3秒。

有人有想法吗?

如何初始化文件系统?

打印分区表 – C程序

CentOS 6.02 64位操作系统中的OpenSSL构build错误

psycopg2在“SELECT”语句对CentOS与Python 2.6的@R_353_4045@ion_schema执行时挂起

主分区的最大数量是多less?

将Postgresql数据库从Windows移到不同的sorting规则

如何使你的电脑的Android分区的形象

跨平台的分区pipe理库?

diskpart脚本删除所有分区

如何在CentOs中启动后编辑initramfs来添加新的分区

流被认为是非常缓慢的。 您可以使用操作系统提供的工具,也可以使用一些可移植的包装器。

我会推荐boost::filesystem ,因为它计划被添加到STL(C ++ 14?)。

文档在这里: boost :: filesystem :: copy_file() 。

使用Linux – 重命名(旧名称,新名称);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐