Раздел: Статьи / Язык С++ /

system PAUSE

Все способы изучить С++ Все способы изучить С++

Начинающие программисты даже не догадываются о том, какой огромный пласт в этой области скрыт от их глаз, и чего многие из новичков не увидят никогда, потому что это тёмная сторона программирования - чистый исходный код системного уровня… Подробнее...

Наверняка где-то в примерах программ на С++ вы встречали что-то типа этого:

int main()
{
  cout << "Hello, World!!!" << endl;
  system("PAUSE");

  return 0;
}

Обычно мало кто задумывается, что здесь делает и зачем строка system("PAUSE");. А я вот задумался ))) И решил, что это может быть любопытно не только мне, поэтому расскажу об этом подробно(есть ещё видео в конце статьи).

Итак, стандартная функция system() вызывает командный интерпретатор (это cmd.exe или command.com). Синтаксис функции:

int system(const char* command);

Функция возвращает определённое реализацией языка значение (обычно это то, что возвращает вызванная программа).

Если в качестве параметра передаётся нулевой указатель, то функция проверяет наличие в системе командного интерпретатора. Если его нет (или не найден), то будет возвращён 0, а есть он есть, то возвращаемое значение будет не нулевым.

Так что вызов функции с параметром "PAUSE" выполнит следующие действия:

  • Запустит командный интерпретатор
  • Выполнит команду PAUSE

То есть выведет сообщение “Для продолжения нажмите любую клавишу…” и приостановит выполнение программы до тех пор, пока пользователь не нажмёт клавишу.

Разумеется, таким образом можно выполнять не только команду PAUSE. Так можно выполнять любые команды, которые поддерживаются интерпретатором. Например, MKDIR - создаёт каталог, DIR - выводит на экран содержимое текущего каталога ну и так далее.

Кроме того, так можно запускать внешние программы. Например:

system("calc");

запустит стандартный калькулятор Windows.

Ну и напоследок ложка дёгтя. Поскольку эта функция вызывает стандартный командный интерпретатор Windows, то она работает только в Windows. Так что если вы пишите программу для другой операционной системы, то воспользоваться этой функцией не получится.


Быстрый старт в С++ Быстрый старт в С++

Бесплатная небольшая книга, которую не надо читать полгода, но которая покажет вам, что такое С++ и как начать его изучение. А также поможет решить, надо ли вам это вообще. Кроме того, подписавшись на рассылку, вы будете получать от меня полезные материалы по С++, которые я периодически выпускаю... Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика