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

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

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

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

05.10.2010, 02:32. Просмотров 957. Ответов 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++ как перевести массив в шестнадцатеричную систему стандартной командой
Что следует дальше за C++? C++
Запуск cmd с командой из программы C++
C++ Дана последовательность чисел, за которой следует 0
Работа с командой system C++
В каком направлении следует развиваться программисту C++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
05.10.2010, 03:09     Следует ли пользоваться командой system()? #2
она находит в системе командный интерпретатор и передает ему команду... не важно, линукс, виндовс, главное чтоб интерпретатор был...
кстати вопрос: с какой библиотекой она подключается?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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
Сообщений: 101
05.10.2010, 03:25  [ТС]     Следует ли пользоваться командой system()? #4
Цитата Сообщение от illuminati Посмотреть сообщение
она находит в системе командный интерпретатор и передает ему команду... не важно, линукс, виндовс, главное чтоб интерпретатор был...
кстати вопрос: с какой библиотекой она подключается?
iostream
std::system()
accept
4819 / 3239 / 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
Сообщений: 101
05.10.2010, 05:51  [ТС]     Следует ли пользоваться командой system()? #6
Цитата Сообщение от accept Посмотреть сообщение
1.
минус в том, что вывод от команды нельзя записать в переменную потом
есть расширение в gcc, popen
Ну можно разными задними ходами всеже получить данные
там поместить вывод в файл

dir >> dir.txt

затем регулярными выражениями выкапывать то что нужно из текстового файла.
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.10.2010, 06:45     Следует ли пользоваться командой system()? #7
popen - расширение, то есть не является частью языка и поэтому оно используется в последнюю очередь, а "разными задними ходами" используется вообще где-то за гранью последнего
odip
Эксперт С++
7155 / 3295 / 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++?
Как следует реализовать шифр замены? C++
Не получается сохранить файл командой fopen C++

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

Или воспользуйтесь поиском по форуму:
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