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

Консоль исчезает при system(pause) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 307, средняя оценка - 4.87
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
26.08.2010, 00:45     Консоль исчезает при system(pause) #1
Вытащил из книжки код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<iostream>
using namespace std;
#include<iomanip>
#include<windows>
 
int main()
{
 
   char c;
   short s;
   int i;
   long l;
   float f;
   double d;
   long double ld;
 
   int array[20], *ptr = array;
 
   cout << "sizeof c = " << sizeof c
        << "\tsizeof(char) = " << sizeof(char)
        << "\nsizeof s = " << sizeof s
        << "\tsizeof(short) = " << sizeof(short)
        << "\nsizeof i = " << sizeof i
        << "\tsizeof(int) = " << sizeof(int)
        << "\nsizeof l = " << sizeof l
        << "\tsizeof(long) = " << sizeof(long)
        << "\nsizeof f = " << sizeof f
        << "\tsizeof(float) = " << sizeof(float)
        << "\nsizeof d = " << sizeof d
        << "\tsizeof(double) = " << sizeof(double)
        << "\nsizeof ld = " << sizeof ld
        << "\tsizeof(long double) = " << sizeof(long double)
        << "\nsizeof array = " << sizeof array
        << "\nsizeof ptr = " << sizeof ptr
        << endl;
 
   system("pause");
   return 0;
}
Проблема в том, что окно консоли при компиляции не задерживается на экране, хотя и "#include<windows>", и "system("pause");" есть. Почему так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1330 / 863 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
26.08.2010, 00:47     Консоль исчезает при system(pause) #2
C++
1
#include<windows.h>
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
26.08.2010, 14:03     Консоль исчезает при system(pause) #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
<windows> здесь ни к чему system объявлена в <cstdlib>.
Попробуйте другие варианты из: http://www.cyberforum.ru/cpp-beginners/thread10807.html.
Кстати это не окно компилятора, это окно консоли.
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
26.08.2010, 14:17     Консоль исчезает при system(pause) #4
fs444, Попробуй в конце место system("pause") getch()(в conio.h) или cin.get().
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1330 / 863 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
26.08.2010, 18:44     Консоль исчезает при system(pause) #5
CyBOSSeR, Я имел в виду что из за неправильного заголовка программа не компилируется.. а запускается старая версия. (В студии часто так происходит )
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
27.08.2010, 17:44     Консоль исчезает при system(pause) #6
fs444, а попробуйте в cmd.com выполнить pause, она у вас там работает?
fs444
6 / 10 / 0
Регистрация: 18.08.2009
Сообщений: 480
01.09.2010, 19:08  [ТС]     Консоль исчезает при system(pause) #7
Спасибо, попробую.
Viktor_Repin
1 / 1 / 0
Регистрация: 26.08.2011
Сообщений: 21
Завершенные тесты: 1
26.08.2011, 09:30     Консоль исчезает при system(pause) #8
Всё работает, просто нужна библиотека cstdlib, а не windiws

C++
1
2
3
4
5
6
7
#include <cstdlib>
 
int main()
{
    system("pause");
    return 0;
}
Шамиль_Такаев
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
21.09.2016, 14:23     Консоль исчезает при system(pause) #9
Тут в любом случае проблема из за заголовка, нету в С++ заголовка "windows", как выше упоминалось надо было написать "windows.h", и system("pause"); не хранится в cstlib
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
21.09.2016, 14:43     Консоль исчезает при system(pause) #10
Цитата Сообщение от Шамиль_Такаев Посмотреть сообщение
и system("pause"); не хранится в cstlib
функция system объявлена cstdlib (stdlib.h)
Шамиль_Такаев
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
21.09.2016, 15:13     Консоль исчезает при system(pause) #11
может и так, но и без этой библиотеки функцию system("pause"); можно использовать
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
21.09.2016, 15:16     Консоль исчезает при system(pause) #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Шамиль_Такаев Посмотреть сообщение
может и так, но и без этой библиотеки функцию system("pause"); можно использовать
Если cstdlib включается неявно где-то в других заголовках
или эту функцию где-то еще объявили, то можно,
но это не гарантируется и код становится не переносимым.
Шамиль_Такаев
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
21.09.2016, 15:17     Консоль исчезает при system(pause) #13
ну тогда выходит что в iostream есть данная функция
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
21.09.2016, 15:18     Консоль исчезает при system(pause) #14
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Шамиль_Такаев Посмотреть сообщение
может и так, но и без этой библиотеки функцию system("pause"); можно использовать
Нельзя.
C++
1
2
3
4
5
6
7
//#include <cstdlib>
 
int main()
{
    system("pause");
    return 0;
}
Ошибка:
Bash
1
2
3
4
5
main.cpp: In function 'int main()':
main.cpp:5:19: error: 'system' was not declared in this scope
     system("pause");
                   ^
mingw32-make: *** [main.o] Error 1
Добавлено через 58 секунд
Цитата Сообщение от Шамиль_Такаев Посмотреть сообщение
ну тогда выходит что в iostream есть данная функция
Нет.
Выходит что iostream включает cstdio.
Шамиль_Такаев
0 / 0 / 0
Регистрация: 29.03.2016
Сообщений: 8
21.09.2016, 15:20     Консоль исчезает при system(pause) #15
ну, я хотел сказать так, просто перепутал.
Раньше я думал что его содержит iostream, теперь буду знать что в stdlib.
И спасибо
hoggy
5114 / 2115 / 403
Регистрация: 15.11.2014
Сообщений: 4,800
Завершенные тесты: 1
21.09.2016, 20:26     Консоль исчезает при system(pause) #16
Цитата Сообщение от Croessmah Посмотреть сообщение
но это не гарантируется и код становится не переносимым.
Цитата Сообщение от castaway Посмотреть сообщение
system("pause");
это как бе итак не переносимо.
жосиси проигнорирует неизвестную ему инструкцию,
например.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2016, 20:41     Консоль исчезает при system(pause)
Еще ссылки по теме:

Быстро исчезает консоль C++
C++ По окончанию компиляции консоль быстро появляется и исчезает
C++ Сообщение об ошибке в строке system("pause");

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
21.09.2016, 20:41     Консоль исчезает при system(pause) #17
hoggy, я имел ввиду "компилябельность"
Yandex
Объявления
21.09.2016, 20:41     Консоль исчезает при system(pause)
Ответ Создать тему
Опции темы

Текущее время: 01:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru