file i/o
-
rüdiger schrieb:
was meinst du mit expanded? Die Datei wird AFAIK überschrieben, außer du nimmst O_APPEND
@proggingmania
natürlich ist das standardisiert, im POSIX-Standard...mit expanded meine ich:
filesize = 1024; write_buffer = 2048; write(&write_buffer,...);bekomme ich da einen error bei write bei den flags: O_WRONLY oder O_RDWR? da ich ja einen groesseren buffer in die datei schreiben will als die dateigroesse...
cu
-
Ich denke mal, du bekommst ne neue Datei der Größe 2048.
Und der vorherige Dateiinhalt geht flöten. Wird also gelöscht.Probiers doch aus.
-
if((fh = open("c:\\opentest.txt", O_WRONLY|O_CREAT)) == -1)warum wird hier unter windoof die datei als readonly angelegt? hoooeee
-
die Datei wird überschrieben, du kannst da so viel reinschreiben wie du willst. Egal wie groß sie vorher war... (das mit dem reinschreiben gilt in jedem Fall)
Als readonly? Du meinst von den Dateirechten?
-
Hä ? Wie readonly ?
Also ich kann in die Datei schreiben.
-
meinte readonly:
if((fh = open("c:\\opentest.txt", O_WRONLY|O_CREAT, S_IREAD|S_IWRITE)) == -1)was heisst eigentlich: O_EXCL?
in doku fand ich nur:O_EXCL kombiniert mit O_CREAT bedeutet, dass die Datei nicht geöffnet werden kann, wenn sie bereits existiert und open() den Wert –1 zurückliefert (-1 == Fehler).
unter windoof gibts es ja gar keine O_WRONLY? wenn ich auf files properties klicke gibt es nur readonly...
-
O_RDONLY "sagt" dem write Befehl, das er die Datei zum Lesen öffnen soll.
O_WRONLY sorgt dafür, das die Datei zum Schreiben geöffnent wird.Das was du meinst, ist so etwas wie ein Schreibschutz nehm ich an.
-
Unter Windows geht das einfach mit:
#include <windows.h>
system("ATTRIB +R opentest.txt");
-
was macht O_EXCL?
-
Hast du keine Referenz ?
_O_EXCL
Returns an error value if the file specified by filename exists. Only applies when used with _O_CREAT.Es wird ein Fehler zurückgegeben, wenn die mit filename angegebene Datei exisiert.
Soll dann wohl zusammen mit _O_CREAT benutzt werden.
-
das gleiche hab ich auch vorher gepostet und gelesen...kam mir eigenartig vor...denn...O_CREAT gibt doch auch einen fehler zurueck wenn die datei existiert!
das muss ich mal testen!
-
Dieser Thread wurde von Moderator/in Tim aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.