C++:
Kirjoittaminen standardivirheeseen

Kuinka:

C++:ssa standardivirheeseen kirjoittaminen voidaan saavuttaa käyttämällä cerr-virtaa, joka on osa standardikirjastoa. Tässä on perusesimerkki:

#include <iostream>

int main() {
    // Kirjoittaminen standarditulosteeseen
    std::cout << "Tämä on normaali viesti." << std::endl;
    
    // Kirjoittaminen standardivirheeseen
    std::cerr << "Tämä on virheviesti." << std::endl;
    
    return 0;
}

Esimerkkituloste:

Tämä on normaali viesti.
Tämä on virheviesti.

Tässä tapauksessa molemmat viestit ilmestyvät tyypillisesti terminaaliisi, mutta voit ohjata ne erikseen komentorivillä. Esimerkiksi, voit lähettää standarditulosteen tiedostoon samalla kun annat virheiden näkyä näytöllä.

Monimutkaisempaan lokitukseen ja virheenkäsittelyyn voidaan käyttää kolmannen osapuolen kirjastoja, kuten spdlog tai boost.log. Nämä kirjastot tarjoavat parannettuja ominaisuuksia lokitukseen, mukaan lukien muotoilu, lokitasot ja tiedostotulostus.

Tässä on esimerkki siitä, miten saatat käyttää spdlogia kirjoittaaksesi virheviestin:

#include "spdlog/spdlog.h"

int main() {
    // Alusta spdlog
    spdlog::info("Tämä on normaali viesti.");
    spdlog::error("Tämä on virheviesti.");
    
    return 0;
}

Huom: spdlogin käyttämiseksi sinun täytyy lisätä se projektiisi. Voit tehdä tämän kloonaamalla varaston GitHubista tai käyttämällä paketinhallintajärjestelmää kuten vcpkg tai conan.

Muista, että valinta suorien standardivirtojen tai kirjaston kuten spdlog käytön välillä riippuu sovelluksesi monimutkaisuudesta ja erityistarpeistasi virheenkäsittelyn ja lokituksen suhteen.