带空格的系统复制文件

System copy file with space

本文关键字:复制 文件 系统 空格      更新时间:2023-10-16

通过在C++中使用系统命令提示符复制,我无法执行该命令,因为我的目录在两个字符"日志"和"文件"之间有空格。也许正则表达式可以帮助我解决这个问题。但我不知道该怎么做。

system("copy C:userspersonlog file C:userspersondesktop")

system("copy "C:\users\person\log file" C:\users\person\desktop")

我还没有测试过,但它应该可以工作。

我相信@tabstop指的是"std::rename",这是一种解决方案。 仅当操作系统上有名为"copy"的命令时,复制文件的方式才有效。 如果您要在iOS上运行此程序,则无法正常工作。

这是一种以C++方式执行此操作的更好方法(从此处嫁接的解决方案:以理智,安全和有效的方式复制文件)....

#include <fstream>
int main(char** argv, int argc) 
{
   std::ifstream  src("C:\users\person\log file", std::ios::binary);
   std::ofstream  dst("C:\users\person\desktop",   std::ios::binary);
   dst << src.rdbuf();
}

不要忘记额外的反斜杠。 您需要它们,因为反斜杠是一个转义字符,它将打开或关闭功能(如 表示换行符)。