копирование файла в c ++ с переменными каталогами - PullRequest
0 голосов
/ 02 апреля 2012

В основном я пытаюсь скопировать файл из одного места в другое, но я хочу, чтобы пользователь мог изменить его, потому что он предназначен для игры в 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;

}

1 Ответ

2 голосов
/ 02 апреля 2012

Вы можете подготовить строку, используя конкатенацию, для проблемы с именем входа, а затем преобразовать ее в 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, поскольку у вас есть пробелы на пути, вы могли быесть проблемы, так что следуйте его советам.

...