Печать перед исключением не работает
Почему программа не печатает 1? Как сделать чтобы печатала?
#include <cstdio>
#include <exception>
int main() {
std::printf("1");
throw std::exception{};
std::printf("2");
}
Ответы (2 шт):
Автор решения: Ildar
→ Ссылка
потоки ввода вывода в c++ буферизированы для уменьшения частоты обращения к ним, чтобы увеличить производительность
чтобы сбросить буфер используйте fflush, а вообще в c++ стоит пользоваться обьектами cin cout для стандартного ввода вывода
#include <cstdio>
#include <exception>
int main()
{
std::printf("1");
std::fflush(stdout);
throw std::exception{};
std::printf("2");
}
Автор решения: kururum
→ Ссылка
Нашол решение сам
#include <cstdio>
#include <exception>
int main()
{
std::fprintf(stderr,"1");
throw std::exception{};
std::fprintf(stderr,"2");
}