Как передать переменную в функцию ShellExecute()

Задача - получить имя входного файла и выходного. Скопировать данные с первого файла во второй. Проблема - плохо понимаю синтаксис С++, не могу передать переменные в функцию. Код:

cout << "Enter name original file: ";
string origFileName;
cin >> origFileName;


cout << "Enter name file to copy: ";
string copyFileName;
cin >> copyFileName;

//Как передать в строку имя входного файла и выходного ? 
ShellExecute(0, L"open", L"cmd.exe", L"/c \"copy /Y file1.txt file2.txt\"", 0, SW_SHOWNORMAL);


Ответы (1 шт):

Автор решения: Harry

На основной вопрос:

string cmd = "/c copy " + origFileName + " " + copyFileName;

и использовать типа

ShellExecute(0, "open", "cmd.exe", cmd.c_str(), 0, SW_SHOWNORMAL);

Только тут выбирайте - если работаете без UNICODE - то string, но без этих L"..., если с UNICODE - то wstring и соответственно читать из wcin.

Вопрос из комментария -

string cmd = "copy " + origFileName + " " + copyFileName;
system(cmd.c_str());
→ Ссылка