Форум программистов, компьютерный форум, киберфорум
Наши страницы

Запустить bat-файл с помощью system - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Трансформируйте задачу: Ссылки http://www.cyberforum.ru/cpp-beginners/thread827684.html
5.2 Ссылки Написать программу, в соответствии с заданием из пункта 5.1, но вместо самой переменной использовать ссылку на нее. Вариант выбирать следующим образом: к номеру в списке добавить 5....
C++ Имя массива как указатель Выполните программу на С++: Используя имя массива как указатель, и применяя адресную арифметику выполнить задание. 3. Дан одномерный массив, состоящий из N целочисленных элементов. 3.1. Ввести... http://www.cyberforum.ru/cpp-beginners/thread827681.html
C++ Передача массивов в функцию (многомерные массивы)
Напишите программу на С++: 5.3 Передача массивов в функцию (многомерные массивы) Написать программу, выполняющую действия в соответствии с вариантом задания и передающую массив в функцию. Ввод и...
Передача массивов в функцию (одномерные массивы) C++
Кто-нибудь может сделать? Заранее блогодарю. Передача массивов в функцию (одномерные массивы) Определить функции, выполняющие действия в соответствии с вариантом задания. 3. Дан одномерный массив,...
C++ Найти наибольшую из высот треугольника http://www.cyberforum.ru/cpp-beginners/thread827678.html
Последние задачи семестра, помогите пожалуйста!!! Функции, параметры функций Определить три функции, выполняющие действия в соответствии с вариантом задания, по одной на каждый способ передачи...
C++ Изменение и сохранение текстового файла Дан текстовый файл, содержащий 100 строк. Программа запрашивает у пользователя, что необходимо сделать: a) удалить каждую четную строку b) удалить каждую нечетную строку c) удалить строки, в... подробнее

Показать сообщение отдельно
MikeSoft
Эксперт С++
3802 / 1778 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
04.04.2013, 21:42
null1, наконец-то добрался до виндовой машины... и занялся вашей задачкой...
И решение найдено ... спасают двойные кавычки, пример:
C++
1
system("\"\"C:\\=test=\\scr.bat\"\"");
Соответственно, даже если путь, в добавок ко всему, будет содержать пробелы - то и в этом случае ничего изменять не придется.
Поэтому, в вашем случае нужно поступить следующим образом:
C++
1
2
3
4
5
6
char* pathFromFile = "C:\\= test =\\scr.bat"; // путь, который вы считали откуда угодно
char* enquotedPath = new char [strlen(pathFromFile) + 4];
strcpy(enquotedPath, "\"\"");
strcat(enquotedPath, strcat(pathFromFile, "\"\""));
system(enquotedPath);
delete[] enquotedPath;
И всё работает как нужно
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru