Ich habe eine Anwendung, in der ich Datum und Uhrzeit basierend auf dem Gebietsschema mithilfe von generieren muss
Funktion, bereitgestellt von Cs
:
Code: Select all
rtnValue = strftime(storeIn, len - 1, "%x %X", &timevar);
Der Rückgabewert von
wird in gespeichert
. Wenn alles gut geht,
enthält das formatierte Datum und die formatierte Uhrzeit.
Unterschiedliche Gebietsschemas erfordern unterschiedliche Puffergrößen. Es gibt jedoch Fälle, in denen Datum und Uhrzeit für ein bestimmtes Gebietsschema die von angegebene Größe überschreiten können
. Dies kann durch die Bereitstellung eines größeren Puffers abgemildert werden, es ist jedoch auch eine ordnungsgemäße Fehlerbehandlung erforderlich.
legt keinen spezifischen Fehlercode fest
oder
. Stattdessen kehrt es zurück
wenn der bereitgestellte Puffer zu klein ist, was bedeutet, dass keine Bytes geschrieben wurden. Aufgrund der Anforderungen muss ich einen Fehlercode festlegen
. Ich bin verwirrt
und
.
klingt angemessen, und ich habe einige Implementierungen gesehen, die es verwenden, wenn ein Pufferüberlauf auftritt. Allerdings heißt es in der Beschreibung eindeutig: „Wert zu groß für definierten Datentyp“, was darauf hindeutet, dass sich der „zu große“ Teil auf die Überschreitung des Grenzwerts eines Datentyps und nicht auf eine manuell festgelegte Puffergröße bezieht. Ist mein Verständnis richtig? Wenn ja, würde dies auf meinen Fall nicht zutreffen.
erwähnt „Mathematisches Ergebnis nicht darstellbar“, obwohl es hauptsächlich für mathematische Funktionen verwendet wird, geben bestimmte Websites an, dass die Eingabe außerhalb des Bereichs liegt, was richtig klingt.
Frage:
Was wäre der am besten geeignete Fehlercode für eine Situation wie diese?
Vielen Dank im Voraus.