Was bedeutet fd-stellen Sie bei der Eingabe: int fd = open("Datei");?

Ich bin auf der Suche im I/O-Operationen in C++ und ich habe eine Frage.
Wenn Sie eine Datei öffnen möchten:

#include <fcntl.h>
int main() {
    unsigned char buffer[16];     
    int fd = open (argv[1], O_RDONLY);
    read(fd, buffer, sizeof(buffer));
    return 0;
}

Wie kann die variable fd repräsentieren eine Datei als integer, wenn an die open Methode? Ist es repesenting eine Datei im aktuellen Ordner? Wenn ich drucken Sie die fdvariable, er druckt 3. Was bedeutet das?

Ps. Ich weiß, es gibt mehrere andere Möglichkeiten, um Dateien zu handhaben, wie stdio.h, fstream sind etc, aber das ist aus dem Anwendungsbereich dieser Frage. Ds.

  • Randbemerkung: Wenn du wirklich mit C++, std::ifstream wäre das viel bevorzugte Art der Lektüre-Dateien.
InformationsquelleAutor Rox | 2012-08-31
Schreibe einen Kommentar