Was ist der Zweck der Verwendung der Fcntl-Funktion?

2 Antworten


  • Diese Funktion wird zur Manipulation von Dateideskriptoren verwendet. Es wird verwendet, um die Attribute einer geöffneten Datei zu ändern. Die Syntax dieser Datei ist wie folgt:
    int fcntl(int file_descriptor, int cmd, int arg)
    Um diese Funktion nutzen zu können, müssen die Header-Dateien sys/types, unistd und fcntl eingebunden werden.
    Es gibt -1 im Falle eines Fehlers zurück, jedoch hängt die Rückgabe bei Erfolg vom Wert des zweiten Arguments ab.
    file_descriptor ist der Dateideskriptor, an dem eine Operation ausgeführt werden soll.
    cmd ist ein Befehlscode, der angibt, welche Operation ausgeführt werden soll.
    Arg ist das optionale Argument und sein Wert hängt vom Befehl ab, der als zweites Argument angegeben wird. Der Standardwert ist 0.
    Es ist für fünf Zwecke gedacht.

    1. Duplizieren des Dateideskriptors
    2. Abrufen oder Setzen der Dateideskriptor-Flags
    3. Abrufen oder Setzen von Dateistatus-Flags
    4. Abrufen oder Festlegen von E/A-Eigentümern
    5. Abrufen oder Festlegen von Datensatzsperren
    Es folgen die Befehlscodes, die als zweites Argument:
    F_DUPED wird zum Duplizieren des als erstes Argument bereitgestellten Dateideskriptors verwendet.
    F_GETFD und F_SETFD werden verwendet, um die Dateideskriptor-Flags zu erhalten/zu setzen.
    F_GETFL und F_SETFL werden verwendet, um Dateistatus-Flags zu erhalten/zu setzen.
    F_GETOWN und F_SETOWN werden verwendet, um E/A-Eigentümer zu erhalten oder zu setzen.
    F_GETLK, F_STELK und F_SETLKW werden zum Sperren von Datensätzen verwendet.
  • Die grundlegende Verwendung dieser Funktion besteht darin, dass sie die Steuerung der geöffneten Datei auf viele verschiedene Arten bietet, z. B. unterstützt sie F_DUPFD usw.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear