Die fgets-Funktion der C-Sprache

fgets ist eine Standardbibliotheksfunktion in der Sprache C, die verwendet wird, um eine Zeile mit Zeichenfolgen aus einer angegebenen Datei zu lesen. Es wird wie folgt deklariert:

char *fgets(char *str, int n, FILE *stream);

Unter ihnen ist str ein Zeichen-Array, das verwendet wird, um die zu lesende Zeichenfolge zu speichern; n stellt die maximale Anzahl von Zeichen dar, die gelesen werden sollen (einschließlich Zeilenumbruchzeichen und Abschlusszeichen); stream stellt den zu lesenden Dateistrom dar.

Die Funktion fgets liest Zeichen aus dem Stream, bis eine der folgenden drei Bedingungen eintritt:

  1. n-1 Zeichen lesen;
  2. Ein Newline-Zeichen '\n' wurde gelesen;
  3. Das Dateiendezeichen EOF wurde gelesen.

Gibt einen Zeiger auf str zurück, wenn der Lesevorgang erfolgreich ist, andernfalls NULL. Darüber hinaus speichert fgets die gelesene Zeichenfolge in str und fügt am Ende automatisch ein Abschlusszeichen „\0“ hinzu.

Das Folgende ist ein einfaches Beispiel, das zeigt, wie die Funktion fgets verwendet wird, um eine Zeichenfolge aus einer Datei zu lesen und auszugeben:

#include <stdio.h>
#define MAXLINE 1024
int main() {
    char str[MAXLINE];
    FILE *fp = fopen("file.txt", "r");
    if(fp == NULL) {
        printf("Failed to open file\n");
        return -1;
    }
    if(fgets(str, MAXLINE, fp) != NULL) {
        printf("%s", str);
    }
    fclose(fp);
    return 0;
}

In diesem Beispiel öffnet das Programm die Datei file.txt, verwendet die fgets-Funktion, um eine Zeichenfolgenzeile (nicht mehr als MAXLINE-1 Zeichen) daraus zu lesen, und gibt dann die gelesene Zeichenfolge aus. Schließlich schließt das Programm die Datei und endet.

おすすめ

転載: blog.csdn.net/wangjiaweiwei/article/details/129998158