Definition | #include <iconv.h> size_t iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); | |
Beschreibung |
Bei zustandsabhängigen Codierungen wird der Umwandlungsdeskriptor cd durch einen Aufruf, für den inbuf ein Nullzeiger ist oder für den inbuf auf einen Nullzeiger zeigt, in den ursprünglichen Shift-Zustand versetzt. Wenn Wenn eine Folge von Eingabe-Bytes im angegebenen Zeichensatz kein gültiges Zeichen ergibt, hält die Umwandlung nach dem zuvor erfolgreich umgewandelten Zeichen an. Wenn der Eingabe-Puffer mit einem unvollständigen Zeichen oder einer unvollständigen Shift-Sequenz endet, so hält die Umwandlung nach den zuvor erfolgreich umgewandelten Bytes an. Wenn der Ausgabe-Puffer nicht ausreichend groß ist, um die gesamte, umgewandelte Eingabe aufnehmen zu können, hält die Umwandlung unmittelbar vor den Eingabe-Bytes an, die einen Überlauf des Ausgabe-Puffers zur Folge hätten. Die Variable, auf die inbuf zeigt, wird aktualisiert und zeigt dann auf das Byte nach dem letzten in der Umwandlung erfolgreich verwendeten Byte. Der Wert, auf den inbytesleft zeigt, wird verringert und gibt die Anzahl der Bytes an, die sich noch im Eingabe-Puffer befinden und noch nicht umgewandelt sind. Die Variable, auf die outbuf zeigt, wird aktualisiert und zeigt dann auf das Byte nach dem letzten Byte mit umgewandelten Ausgabedaten. Der Wert, auf den outbytesleft zeigt, wird verringert und gibt dann die Anzahl der Bytes an, die noch im Ausgabe-Puffer zur Verfügung stehen. Bei zustandsabhängigen Codierungen wird der Umwandlungsdeskriptor aktualisiert und gibt dann den Shift-Zustand an, der am Ende der letzten erfolgreich umgewandelten Bytefolge gültig ist. Wenn | |
Returnwert |
| |
Fehler |
| |
|
| Die Umwandlung der Eingabe wurde auf Grund eines Eingabe-Bytes angehalten, das nicht zum Eingabe-Zeichensatz gehört. |
|
| Die Umwandlung der Eingabe wurde angehalten, weil im Ausgabe-Puffer nicht genügend Platz zur Verfügung steht. |
|
| Die Umwandlung der Eingabe wurde auf Grund eines unvollständigen Zeichens oder einer unvollständigen Shift-Sequenz am Ende des Eingabe-Puffers angehalten. |
|
| Das Argument cd ist kein gültiger Umwandlungsdeskriptor für eine offene Datei. |
Siehe auch |
|