使用可变目录在c ++中复制文件

时间:2012-04-02 14:26:27

标签: c++ string directory copy cin

基本上我正在尝试将文件从一个地方复制到另一个地方,但我希望用户能够更改,因为它用于蒸汽游戏并且每个人都有一个不同的用户名。

system("copy GameMenu.res C:\\Program Files (x86)\\Steam\\steamapps\\"login"\\counter-strike source\\cstrike\\resource\\GameMenu.res");

在这行说“登录”我希望人们能够输入他们的用户名,因此它仍然是目录的一部分或者无论什么东西被调用。请帮帮我。

这里的代码是整个代码,所以你可以看到它有什么问题:

#include <iostream>
#include <cmath>
#include <string>
int main ()
{
using namespace std;

string login;
int drive;

cout << "What is your steam login??" << endl;

cin >> login;

system("timeout 2");

system("cls");

cout << "Your files are being copied " << login << "." << endl;

system("copy GameMenu.res C:\\Program Files (x86)\\Steam\\steamapps\\"login"\\counter-strike source\\cstrike\\resource\\GameMenu.res");

system("pause");

system("cls");

system("timeout 1");

return 0;

}

1 个答案:

答案 0 :(得分:2)

您可以使用串联为您的登录名问题准备字符串,然后将其转换为const char *

string str = "copy GameMenu.res \"C:\\Program Files (x86)\\Steam\\steamapps\\" + login + "\\counter-strike source\\cstrike\\resource\\GameMenu.res\"";
const char * c = str.c_str();

system(c);

同样在评论中提到的crashmstr,因为你的路径中有空格可能会有问题,所以请考虑遵循他的建议。