Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83164

Odpowiedź: Zmiana rozmiaru bufora konsoli

$
0
0

Stwórz funkcję wychodzącą z programu która najpierw zmienia rozmiar bufora konsoli, a następnie zamyka program z pewnym kodem wyjścia przekazanym w argumencie.

Całego main'a napisz tak:

try {
  // wszystkie instrukcje
}
catch(std::exception& e){
 // wywołanie funkcji zamykającej
}
// wywołanie funkcji zamykającej

W ten sposób to co rzuca wyjątkiem nie zamknie ci programu z takim rozmiarem bufora jaki ustawiłeś podczas wykonania. Ważne jest to aby w przypadku funkcji i metod noexcept zachować ostrożność ponieważ mogą one zamknąć twój program bez zmiany do poprzedniego rozmiaru. 

W celu zabezpieczenia się przed taką funkcją (lub metodą) mamy 2 opcje:

1. Jesteśmy pewni, że wykona się to bez wyjątku.

2. Możemy zmienić rozmiar bufora przed wywołaniem i po wywołaniu przywrócić go.


Viewing all articles
Browse latest Browse all 83164

Trending Articles