Мой код 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.