Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
manking
1 / 1 / 0
Регистрация: 28.09.2010
Сообщений: 106
#1

Следует ли пользоваться командой system()? - C++

05.10.2010, 02:32. Просмотров 972. Ответов 8
Метки нет (Все метки)

С помощью функции system можно легко работать с файлами и каталогами.

Но возникает 3 вопроса.

1) копировать перемещать удалять файлы лучше этой командой или api или другими библиотеками?
Потому что во всех примерах что нахожу используются winapi.

2) Эта функция посылает команды только для windows или она еще и для других систем подходит?

3) Эта функция посылает всё что ввел в командную строку, или она всё проверяет и что то может обрезать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2010, 02:32     Следует ли пользоваться командой system()?
Посмотрите здесь:

Какими методами для работы с файлами и каталогами следует пользоваться? - C++
Недавно изучаю, C++. И в отличие от PHP, он наполнен большим количеством функций, для решения одной и той же задачи. Когда я ищу в...

Работа с командой system - C++
У меня программа запускает компиляцию файла-паскаль через консоль system("start D:\\2.6.0\\bin\\i386-win32\\fpc.exe D:\\file.pas");...

Запуск cmd с командой из программы - C++
Добрый вечер! В программе потребовалось запустить cmd с командой. Сначала подумал, мне нужно что то вроде...

ShellExecute не стартует процесс с длинной командой - C++
Столкнулся с такой проблемой. Есть у нас Windows Service, который стартует процесс в любой сессии через LaunchProcessAsUser. Этот процесс...

Не получается сохранить файл командой fopen - C++
printf("1. Сохранить таблицу в файл. \n"); printf("2. Вернуться в главное меню\n"); scanf_s("%d", &k); if (k == 1) { FILE...

Что следует дальше за C++? - C++
Я вот уже несколько месяцев изучаю C++ самостоятельно дома ради собственного интереса. Както понравилось оно мне однажды складывать разные...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
05.10.2010, 03:09     Следует ли пользоваться командой system()? #2
она находит в системе командный интерпретатор и передает ему команду... не важно, линукс, виндовс, главное чтоб интерпретатор был...
кстати вопрос: с какой библиотекой она подключается?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
05.10.2010, 03:24     Следует ли пользоваться командой system()? #3
illuminati, без библиотек...
Нет. Не прав. Но с iostream вполне.
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    system("pause");
    return 0;
}
manking
1 / 1 / 0
Регистрация: 28.09.2010
Сообщений: 106
05.10.2010, 03:25  [ТС]     Следует ли пользоваться командой system()? #4
Цитата Сообщение от illuminati Посмотреть сообщение
она находит в системе командный интерпретатор и передает ему команду... не важно, линукс, виндовс, главное чтоб интерпретатор был...
кстати вопрос: с какой библиотекой она подключается?
iostream
std::system()
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.10.2010, 03:42     Следует ли пользоваться командой system()? #5
1) копировать перемещать удалять файлы лучше этой командой или api или другими библиотеками?
Потому что во всех примерах что нахожу используются winapi.

2) Эта функция посылает команды только для windows или она еще и для других систем подходит?

3) Эта функция посылает всё что ввел в командную строку, или она всё проверяет и что то может обрезать?
1. Эта штука выполняет действия посредством программ, в то время как api не требует программ (а ведь программы можно убрать, заблокировать)

2. Она действует как человек, набирающий команду и нажимающий return
наличие интерпретатора команд проверяется через if(system(NULL))

3. Она действует так, будто ты руками набрал эту команду.

минус в том, что вывод от команды нельзя записать в переменную потом
есть расширение в gcc, popen

Код
#include <stdio.h>

       FILE *popen(const char *command, const char *type);

       int pclose(FILE *stream);
manking
1 / 1 / 0
Регистрация: 28.09.2010
Сообщений: 106
05.10.2010, 05:51  [ТС]     Следует ли пользоваться командой system()? #6
Цитата Сообщение от accept Посмотреть сообщение
1.
минус в том, что вывод от команды нельзя записать в переменную потом
есть расширение в gcc, popen
Ну можно разными задними ходами всеже получить данные
там поместить вывод в файл

dir >> dir.txt

затем регулярными выражениями выкапывать то что нужно из текстового файла.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.10.2010, 06:45     Следует ли пользоваться командой system()? #7
popen - расширение, то есть не является частью языка и поэтому оно используется в последнюю очередь, а "разными задними ходами" используется вообще где-то за гранью последнего
odip
Эксперт С++
7156 / 3296 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
05.10.2010, 19:57     Следует ли пользоваться командой system()? #8
С помощью функции system можно легко работать с файлами и каталогами.
Вот если совсем делать нечего, тогда можно использовать system() для этих целей
Но лучше не использовать !
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2010, 00:37     Следует ли пользоваться командой system()?
Еще ссылки по теме:

Что следует учить после C++? - C++
Здравствуйте. Сейчас изучаю C++, пока вроде все понятно: функции, классы и т.д . Но все это делается в консоли. Мне непонятно: что учить...

Как перевести массив в шестнадцатеричную систему стандартной командой? - C++
как перевести массив в шестнадцатеричную систему стандартной командой имею код программы, нужно результат получить в HEX, пробовал с ...

Определить количество забитых и пропущенных каждой командой мячей. - C++
После проведения спортивных соревнований, например, по футболу, и организаторы, и участники, и зрители особенно интересуются различной...

Как следует реализовать шифр замены? - C++
Нужно реализовать шифр замены, как это можно сделать через Windows Form Application или консольное приложение?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
06.10.2010, 00:37     Следует ли пользоваться командой system()? #9
В MinGW например нужно подключать <cstdlib>. А в VS достаточно <iostream>
Что касается этой функции, то чаще всего ее используют для вызова команды "pause".
А чтобы работать с файлами из нее - не очень вариант. Лучше пользоваться API или стандартными сиплюсплюсовыми функциями/классами.
Yandex
Объявления
06.10.2010, 00:37     Следует ли пользоваться командой system()?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru