Wie man Datei-Deskriptor " Puffer im Speicher?
Wenn ich einen Puffer enthält die Daten einer Datei, wie bekomme ich einen file-Deskriptor aus?
Das ist eine Frage, abgeleitet aus wie entpacken Sie die Datei in den Speicher
InformationsquelleAutor solotim | 2009-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schrieb ich ein einfaches Beispiel, wie man filedescriptors auf einen Speicherbereich:
fcntl(fd, F_SETPIPE_SZ, ...)
zur Steigerung der pipe-buffer-Größe. Kredit msandiford für diese.Auf Linux,
vmsplice()
die nützlich sein könnten: es vermeidet die Notwendigkeit für eine for-Schleife zum schreiben von Daten in die pipe.Dies ist ein ziemlich genial Lösung, aber wenn Sie müssen in der Lage sein, mehr zu tun, als das Lesen vom fd (also suchen), dann funktioniert es nicht. Sie nicht versuchen, auf einem Rohr (zumindest nicht auf den Plattformen, die ich benutze).
InformationsquelleAutor sambowry
Können Sie nicht. Im Gegensatz zu C++, das C-Modell von Datei-I/O ist nicht offen für Erweiterung.
Das ist POSIX, IIRC. Nicht C, das ist, wie Sie mit dem Stichwort Ihrer Frage. I. e. es würde nicht funktionieren auf Windows.
InformationsquelleAutor MSalters