C++:
Skriva till standardfel
Hur man gör:
I C++ kan skrivning till standardfel uppnås genom att använda strömmen cerr
, som är en del av standardbiblioteket. Här är ett grundläggande exempel:
#include <iostream>
int main() {
// Skrivning till standardutdata
std::cout << "Detta är ett vanligt meddelande." << std::endl;
// Skrivning till standardfel
std::cerr << "Detta är ett felmeddelande." << std::endl;
return 0;
}
Exempel på utdata:
Detta är ett vanligt meddelande.
Detta är ett felmeddelande.
I detta fall kommer båda meddelandena typiskt att visas i din terminal, men du kan omdirigera dem separat i ett skal. Till exempel kan du skicka standardutdata till en fil medan du låter fel visas på skärmen.
För mer avancerad loggning och felhantering kan tredjepartsbibliotek som spdlog
eller boost.log
användas. Dessa bibliotek erbjuder förbättrade funktioner för loggning, inklusive formatering, loggnivåer och filutdata.
Så här kan du använda spdlog
för att skriva ett felmeddelande:
#include "spdlog/spdlog.h"
int main() {
// Initialisera spdlog
spdlog::info("Detta är ett vanligt meddelande.");
spdlog::error("Detta är ett felmeddelande.");
return 0;
}
Obs: För att använda spdlog
måste du lägga till det i ditt projekt. Du kan göra detta genom att klona repositoryt från GitHub eller använda en pakethanterare som vcpkg
eller conan
.
Kom ihåg att valet mellan att direkt använda standardströmmar eller ett bibliotek som spdlog
beror på komplexiteten i din applikation och dina specifika behov med avseende på felhantering och loggning.