file i/o
-
hi,
entspricht einem "r+b" aus der fstream einen O_RDWR fuer posix? bin unter linux:)
FILE *f = fopen(DISK_IMAGE_PATH, "r+b"); <--- c lib int f = open(DISK_IMAGE_PATH, O_RDWR); <--- posix
gibt es hier sonst noch etwas wo man aufpassen muss?
int fseek(FILE *datei, long offset, int origin); size_t fread(void *puffer, size_t blockgroesse, size_t blockzahl, FILE *datei); size_t fwrite(const void *puffer,size_t blockgroesse, size_t blockzahl, FILE *datei); long lseek(int fh, long offset, int wie); int write(int fh, const void *puffer, size_t bytezahl); int read(int fh, const void *puffer, site_t bytezahl);
bytezahl = blockgroesse * blockzahl?
-
Dieser Thread wurde von Moderator/in Tim aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
linuxuser1 schrieb:
hi,
entspricht einem "r+b" aus der fstream einen O_RDWR fuer posix? bin unter linux:)
Falls deine Frage ist, ob du Byteweise auf die Datei zugreifst, dann ja.
-
fopen() und open() unterscheiden sich dadurch, dass das eine gepufferten und das andere ungepufferten Dateizugriff einleitet. Beides ist meines Wissens im POSIX-Standard enthalten.
Hinter dem Stream (FILE
bei fopen() liegt auch immer ein open()-kompatibler Datei-Handle, siehe auch diesen Beitrag.