Как передать переменную в функцию 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());