Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

getw - Maschinenwort aus Datenstrom lesen

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

int getw(FILE *stream);

Beschreibung

getw() liest das nächste Maschinenwort aus dem Datenstrom stream. Ein Maschinenwort hat die Größe eines int-Datentyps; sie kann von Rechner zu Rechner unterschiedlich sein. getw() nimmt für die Datei keine besondere Ausrichtung an.

getw() kann die Strukturkomponente st_atime für die Datei, der stream zugeordnet ist, zum Ändern markieren (siehe sys/stat.h). Die Strukturkomponente st_atime wird aktualisiert, sobald fgetc(), fgets(), fgetwc(), fgetws(), fread(), fscanf(), getc(), getchar(), gets() oder scanf() erfolgreich für stream aufgerufen werden und Daten zurückliefern, die nicht durch einen vorangegangenen Aufruf von ungetc() oder ungetwc() bereitgestellt wurden.

getw() ist nicht threadsicher.

Returnwert

nächstes Wort aus dem Eingabestrom, auf den stream zeigt (als int)



bei erfolgreicher Beendigung.


EOF  

wenn der Datenstrom das Dateiende erreicht hat. Das Dateiendekennzeichen dieses Datenstroms wird gesetzt. errno wird nicht gesetzt.

 

EOF

wenn ein Lesefehler auftritt. Das Fehlerkennzeichen des Datenstroms wird gesetzt. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

Siehe fgetc().

Hinweise

Wegen möglicher Unterschiede in Wortlänge und Ausrichtung sind Dateien, die mit putw() geschrieben wurden, rechnerabhängig; sie können unter Umständen auf einem anderen Rechner nicht korrekt mit getw() gelesen werden.

Weil die Darstellung von EOF eine gültige ganze Zahl ist, sollten Anwendungen, die auf Fehler überprüfen wollen, ferror() und feof() benutzen.

BS2000

Bei Textdateien mit der Zugriffsart SAM und variabler Satzlänge, für die zusätzlich eine maximale Satzlänge angegeben ist, gilt: Wenn bei fopen() die Angabe split=no gemacht wurde, werden Sätze maximaler Länge beim Lesen nicht mit dem darauffolgenden Satz verkettet. Standardmäßig oder mit der Angabe split=yes wird beim Lesen eines Satzes mit maximaler Satzlänge angenommen, dass es sich bei dem Folgesatz um die Fortsetzung dieses Satzes handelt, und die Sätze werden verkettet. (Ende)

Ob getw() für eine BS2000- oder eine POSIX-Datei ausgeführt wird, hängt von der Programmumgebung ab.

Siehe auch

ferror(), getc(), putw(), stdio.h.