Beschreibung | gets() liest Zeichen aus dem Standard-Eingabestrom, bis ein Zeilenendezeichen oder das Dateiende erreicht wird. Die gelesene Zeichenkette wird in den Vektor eingetragen, auf den s zeigt. Ein Zeilenendezeichen wird durch das Nullbyte überschrieben.
gets() 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.
|
| Nullzeiger | wenn der Datenstrom das Dateiende erreicht hat. Das Dateiendekennzeichen dieses Datenstroms wird gesetzt. errno wird nicht gesetzt. Wenn ein Lesefehler auftritt, wird das Fehlerkennzeichen des Datenstroms gesetzt. errno wird gesetzt, um den Fehler anzuzeigen. |
Hinweise | Das Lesen einer Zeile, die die Länge des Vektors s überschreitet, liefert undefinierte Ergebnisse. Die Verwendung von fgets() wird empfohlen. Wenn gets() in der POSIX-Umgebung von stdin liest und EOF das Einlese-Endekriterium ist, erreicht man die EOF -Bedingung durch folgende Maßnahmen: > am blockorientierten Terminal durch Eingabe der Tastensequenz [@][@][d] > am zeichenorientierten Terminal durch Eingabe von [CTRL]+[D] BS2000 Wenn fgetc() in der BS2000-Umgebung von stdin liest und EOF das Einlese-Endekriterium ist, erreicht man die EOF -Bedingung durch folgende Maßnahmen am Terminal: [K2] drücken. Die Systemkommandos EOF und RESUME-PROGRAM eingeben.
Ob gets() für eine BS2000- oder eine POSIX-Datei ausgeführt wird, hängt von der Programmumgebung ab. |