Cout vs. fprintf vs. fputsC++

Programme in C++. Entwicklerforum
Anonymous
 Cout vs. fprintf vs. fputs

Post by Anonymous »

Ich entwerfe meine Dienstprogrammfunktion so, dass sie keine Ausnahme auslöst, da ich mich nicht mit Ausnahmen befassen möchte und diese Funktion in einer While-Schleife verwenden kann. Ich versuche auch, alle Best Practices zu befolgen, die ich gelernt habe.

Code: Select all

namespace auxiliary {
static bool str_to_double(const std::string &line, double &res) noexcept {
char *end = nullptr;
errno = 0;
double value = strtod(line.c_str(), &end);
if (line.empty()) {
std::fputs("line is empty!\n", stderr);
} else if (end == line.c_str()) {
std::fputs("No characters consumed. Couldn't parse event the first character!\n", stderr);
} else if (*end != '\0') {
std::fputs("trailing nonnumerical character(s) detected\n", stderr);
} else if (errno == ERANGE) {
std::fputs("Overflow or underflow for double\n", stderr);
} else {
// everything's alright
res = value;
return true;
}
return false;
}
} namespace aux = auxiliary;
Ich möchte meine Funktion als noexclusive markieren. Aber ChatGPT sagte mir, dass std::cout möglicherweise (wenn auch ein seltener Fall) eine Ausnahme verursachen könnte und dass ich std::fputs oder std::fprintf bevorzugen sollte.
In einer anderen Eingabeaufforderung teilte mir ChatGPT mit, dass das oben erwähnte AUCH Probleme verursachen kann.
Ich nehme an, in einer realen Anwendung würde ich wahrscheinlich so etwas wie eine benutzerdefinierte Logger-Klasse oder -Methode verwenden.
Aber welche sollte man in diesem speziellen Fall verwenden, um sicherzustellen, dass keine Ausnahmen ausgelöst werden? cout/

Code: Select all

fputs
/

Code: Select all

fprint
? Oder sollte ich diese Idee aufgeben und die Funktion überhaupt als noexcl markieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Cout vs. fprintf vs. fputs
    by Anonymous » » in C++
    0 Replies
    1 Views
    Last post by Anonymous
  • Wie drucke ich (mit cout) eine Zahl in binärer Form?
    by Guest » » in C++
    0 Replies
    34 Views
    Last post by Guest
  • Logik hinter der Cout -Formatierung in diesem Fall [geschlossen]
    by Anonymous » » in C++
    0 Replies
    40 Views
    Last post by Anonymous
  • Der Befehl "cout" zeigt nicht die von mir gewünschte Nachricht auf dem Bildschirm an
    by Anonymous » » in C++
    0 Replies
    25 Views
    Last post by Anonymous
  • C ++ Cout Hex -Werte?
    by Anonymous » » in C++
    0 Replies
    19 Views
    Last post by Anonymous