基本上,我试图将文件从一个地方复制到另一个地方,但我希望用户能够更改,因为它是一款 Steam 游戏,每个人都有不同的用户名。
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;
}
最佳答案
您可以为您的登录名问题使用串联来准备您的字符串,然后将其转换为 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,由于路径中有空格,您可能会遇到问题,因此请考虑听从他的建议。
关于c++ - 使用可变目录在 C++ 中复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978228/