Objekt wclog u jeziku C ++ objekt je klase wostream. Povezan je sa standardnim izlaznim tokom pogreške C stderr.
Razlika između začepljenja i začepljenja
začepiti korisnike char (uski znak) kao vrstu znaka. Može se koristiti za ASCII i ANSI znakove.
Za internacionalizaciju trebamo Unicode nizove koji se ne uklapaju u char. wclog koristi wchar_t (široki znak) i upotrebljiv za Unicode znakove.
Razlika između wcerr i wclog
wclog
i wcerr
obje su povezane s stderr
, ali se razlikuje od toga wcerr
u smislu da su potoci u wclog
baferu i nisu automatski povezani s wcout
.
Međuspremni izlaz učinkovitiji je od nebuferiranog. U slučaju međuspremnika, sav se izlaz sprema u varijablu i odjednom zapisuje na disk. Za nebuferirani izlaz moramo nastaviti pisati na disk.
Me uspremljeni izlaz nije poželjan za kritične pogreške. U slučaju pada sustava, može doći do situacije da je izlaz još uvijek u međuspremniku i nije zapisan na disk, a poruka o pogrešci ne može se dohvatiti. Ne možemo si priuštiti gubitak podataka o pogreškama u slučaju pada sustava pa kritične pogreške nastavljamo upisivati na disk iako je sporiji.
wclog
se obično koristi za sječu drva. Za nekritično zapisivanje događaja, učinkovitost je važnija pa se preferira wclog wcerr
.
wclog deklaracija
vanjski ostream wclog;
Definirano je u datoteci zaglavlja "> datoteka zaglavlja.
Osigurano wclog
je da se objekt inicijalizira tijekom ili prije prvog ios_base::Init
konstruiranja objekta tipa . wclog
nije vezan ni za jedan drugi tok.
"Wc" u wclog
odnosi se na "širok karakter", dakle wclog
znači "širok zapis znakova". The
wclog
objekt koristi se zajedno s operatorom umetanja (<<) kako bi se prikazao tok znakova. Općenita sintaksa je:
wclog << varName;
ili
wclog << "Neki niz";
Operator ekstrakcije može se koristiti više puta s kombinacijom varijabli, nizova i manipulatora (poput endl
):
wclog << var1 << "Neki niz" << var2 << endl;
Primjer: Kako radi wclog?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wclog << L"Error while opening the file " << fileName <
When you run the program, a possible output will be (if there is error in opening the file):
Error while opening the file data.txt