Используя команду командной строки в C++, я не смог выполнить команду, так как мой каталог имеет пространство между двумя символами, "журнал" и "файл". Возможно, регулярное выражение может помочь мне решить эту проблему. Но у меня не было идей, как это сделать.
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();
}
Не забывайте о дополнительной обратной косой чертой. Вы нуждаетесь в них, потому что обратная косая черта - это escape-символ, который будет включать или выключать функциональность (например,\n для новой строки).
std::rename
стандартизирован.
system("copy \"C:\\users\\person\\log file\" C:\\users\\person\\desktop")
Я не тестировал это, но он должен работать.