Не запускается .exe файл [дубликат]

189
23 марта 2018, 13:02

На данный вопрос уже ответили:

  • Консоль Windows при запуске main.exe моментально закрывается 2 ответа

Я в программировании пока что чайник, только начал изучать, проблема такова: Написал самую простую программку Hello world (изучаю С С++), всё написал скомпилировал, запускаю через командную строку всё работает вот код

#include <stdio.h>
int main()
{
  printf("hello World!\n");
  return 0;
}

но попытавшись запустить EXE фаил он тут же закрывается, а в командной строке всё отлично работает. Вопрос в чём проблема и как решить подскажите!!!!

Answer 1

Просто программа исполнилась и закрылась. Если запускать из консоли, return 0; в main() отдает управление обратно консоле, с кодом 0 (нормальное завершение программы), и можно продолжать роботу. Если надо не закривать окно консоли вызваной через a.exe, можно добавить в код getchar();

#include <stdio.h>
int main(void)
{
    printf("hello World!\n");
    getchar();
    return 0;
}

Программа завершиться после нажатия Enter. Или второй вариант:

#include <stdio.h>
#include <cstdlib>
int main(void)
{
    printf("hello World!\n");
    system("pause");
    return 0;
}
Answer 2

Для того чтоб файл не закрывался, нужно вызвать сообветствующий метод, в builder это getch(), в вижле _getch(), инклюд conio.h и там и там

Answer 3

Потому что при "попытке запустить ЕХЕ файл" (очевидно, из среды разработки или из Windows Explorer-a) открывается новое консольное окно, которое автоматически закрывается, когда программа отработала.

  ...
  printf("\nPress any key to finish.\n");
  getchar();
  return 0;
}
READ ALSO
CMake генерация .sln(Visual Studo)

CMake генерация .sln(Visual Studo)

Есть CMake скрипт для С++ проекта, c таким содержимым:

181
Dev C++ странно оперирует в cout с декрементом

Dev C++ странно оперирует в cout с декрементом

int t = 10; cout << t << endl << t * 2 << endl << --t;

179
Последовательность чисел

Последовательность чисел

Есть задача, ее я решил и пока программа работает с маленькими числами ответы выводит правильноНо когда мы берем более большие числа ответы...

205
Как сделать тоже самое с помощью адресации?

Как сделать тоже самое с помощью адресации?

Задан массив char str[stolb][dlina]; а также:

244