Мой код C++ компилируется, но становится неубиваемой программой, которая не работает

Я написал программу CPP для Code::Blocks и скомпилировал ее (MinGW). Это простое приложение, но оно показывает большую проблему, которую я до сих пор не могу решить.

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Something here";
    return 0;
}

Когда я пытаюсь запустить эту программу (на блоках кода [F9 - скомпилировать и запустить]), я получаю следующее: Консоль

Ничего не произошло...

Если я выполняю его из кодовых блоков, он просто открывается и исчезает. Но в двух случаях это невозможно, я не могу убить этот процесс. Но когда я пытаюсь перезагрузить компьютер, я получаю сообщение об ошибке, в котором говорится, что программа не была правильно инициализирована. Я не знаю, как отлаживать программы, и я не знаю, как действовать дальше. Не могли бы вы помочь мне?

Извините за любые языковые ошибки, я не английский мастер (пока). Спасибо.

Редактировать:

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Something here" << std::flush;
    return 0;
}

Это все еще не работает. Даже с '\n' или же std::endl,

2 ответа

Ты не сделал std::flush ваш вывод, так что "что-то здесь" застрял во внутреннем буфере std::cout и не печатается до окончания вашей программы.

Чтобы это исправить, вы можете (выбрать один):

  • std::cout << "Something here" << std::endl;
  • std::cout << "Something here\n";
  • std::cout << "Something here" << std::flush;

Благодаря Бо Перссону (который прокомментировал мой пост) я исправил это, отключив антивирус (Avast). Спасибо!

Редактировать:

std::cout << "Something here"; (без std::flush) также работает после отключения Avast.

Другие вопросы по тегам