open() question
-
Hi,
ich versuche mir grade ein Stückchen Code zu erklären, er cryptet klartext.
Eine Zeile verstehe ich nicht so ganz, insbes stimmt die Anzahl der Parameter nicht mit der aur www.cplusplus.com beschrieben überein:
fd_d ist ein int, dest_name ein char[].
fd_d = open(dest_name, O_RDWR | O_CREAT | O_TRUNC, 0777);
cpp.com sagt über den Befehl (ist halt cpp ich vermute das ist nicht der selbe, kennt jmd eine gute API für ANSI C ?):
http://www.cplusplus.com/ref/iostream/ofstream/open.html[ void open ( const char * filename, openmode mode = out | trunc ); ]
also wozu ist der letzte Parameter da ?
PS der code hat auf einigen Windows boxen das Problem das man nichtmehr auf das crypted file zugreifen kann, ich glaube dieses wird in der Zeile erzeugt.
Kann der Parameter was mit Zugriffsrechten zutun haben ?
Wenn ja welche Nummern kann man an dieser Stelle noch testen? Hat evtl jmd eine passende befehlserklärende Seite ?TIA
-
die reference ist c++
du machst hier unix. ist nicht c-standard, das open mit drei argumenten.
die 0777 sehen nach dateirechten aus, schau dich mal unter unix und dateirechten um.
ist in stat.h drin. (ohne gewähr).. auf pronix.de gibt es auch irgendwo die konstanten, die du für das dritte argument einsetzen kannst, glaub ich.
-
elise schrieb:
auf pronix.de gibt es...
ich möchte mal wissen warum hier immer wieder diese scheißseite erwähnt wird
-
Gibt es eine vernünftige Begründung
für diese wüste
Anschuldigung
?
"Please do not feed the troll !" Bitte den Troll nicht füttern!Mit umgangsformen-gerechten Grüßen
Hallo-C
-
c°h° schrieb:
cpp.com sagt über den Befehl (ist halt cpp ich vermute das ist nicht der selbe, kennt jmd eine gute API für ANSI C ?):
http://www.cplusplus.com/ref/iostream/ofstream/open.html[ void open ( const char * filename, openmode mode = out | trunc ); ]
also wozu ist der letzte Parameter da ?
Das open aus C++ ist eine Memberfunktion von fstream, das ist hier die völlig falsche Baustelle. open() ist auch kein ANSI-C (eine solche Doku würde dir folglich auch nichts nützen), sondern aus der Unix-API (bzw. POSIX). Die entsprechende Manpage dürfte dich da weiterbringen: man: open(2). Oder halt http://www.pronix.de/pronix-56.html , das sieht gar nicht mal so schlecht aus, was da steht.
PS der code hat auf einigen Windows boxen das Problem das man nichtmehr auf das crypted file zugreifen kann, ich glaube dieses wird in der Zeile erzeugt.
Frag mich nicht, wie open auf Windosen überhaupt funktioniert, die Dateirechte werden da ja auch ganz anders geregelt.
-
die linux umgebung liefert cygwin:) nur mit diesen rechten muss man anscheinend etwas rumspielen, danke für die fixen antworten