Einlesen einer Zeile aus einer Datei

int GetLine(char *Line, int Size, int fh)


Implementiert in der Datei params.c des Projektes Transfermatrixsimulation.


So lange der Puffer noch reicht, noch Zeichen in der Datei sind und kein Zeilenvorschub gelesen wurde, wird die Datei Zeichen für Zeichen in den Puffer gelesen. Falls das Dateiende erreicht wird, oder der Puffer nicht mehr ausreicht, wird eine leere Zeile zurückgegeben. Ansonsten wird der eingelesene Zeilenvorschub durch eine abschließende Null ersetzt.


Parameter:

Line, char *
Puffer für eingelesene Daten
Size, int
Größe des Einlesepuffers
fh, int
Dateihandle der Datei, aus der die Daten zu lesen sind.

Rückgabewert (int):

1, falls die Zeile in den Einlesepuffer passt und mit einem Zeilenvorschub abgeschlossen wurde.
int GetLine(char *Line,int Size,int fh)
{
  int i;
  char *Next;
  
  i=0;
  Next=Line-1;
  do {
    if (read(fh,++Next,1)!=1) {
      *Line='\0';
      return(0);
    }
  } while(i++<Size && *Next!='\n');
  if (i>Size) {
    *Line='\0';
    return(0);
  }
  *Next='\0';
  return(1);
}

Diese Seite wurde compiliert/modifiziert/erzeugt am 06.03.1997/01.09.1995/30.08.1995 von Ralf Bundschuh/Ralf Bundschuh.
Diese Seite und ihr Inhalt sind (c) 1995 von Ralf Bundschuh.