ofstream, pfadangabe
-
hi,
ich will das file in einem unterordner vom ausgeführten prog speichern...
ofstream("unterordner\\file.txt", std::ios::out | std::ios::binary);
?
kann ich dann irgendwie den gesamten pfad raus finden wo er die datei hinspeichern will?
ich mach es wie oben...aber nach dem 2ten mal speichert er das nicht mehr....
wenn ich zb angebe c:\\file.txt dann klappt es immer...hmwie bekomm ich den pfad von dem das programm ausgeführt wird...?
so funzt es auch nicht...
ofstream(..\\Received Files\\file.txt"),std::ios::out | std::ios::binary);
cu
-
Das ist Betriebssystemabhängig und leider nicht in der Std-Lib von C++ enthalten.
Aber die Boost-Library (Pflicht für jeden C++ Programmierer!) bietet platformunabhängige Filesystem-Klassen an, schau dir mal boost::filesystem::initial_path() bzw. das boost::filesystem::current_path() an. Ist genau das was du suchst. Überhuapt würde ich boost für Dateioperationen benutzen, ist mächtiger als std::fstream.
-
Unter Windows sollte .\ helfen.
-
FireFlow schrieb:
Unter Windows sollte .\ helfen.
meinst du so:
ofstream(".\\Received Files\\file.txt", std::ios::out | std::ios::binary);
aber die stream klasse fstream ist ja linux u win kompatibel! nur mit dem pfad ist das ja anders?
cu
-
Tut mir Leid ich hab überhaupt keine Erfahrung mit Linux und weis nicht ob es da auch funktioniert.
-
Red' ich hier mit ner Wand, oder wie? Hab doch schon ne Lösung gegeben.
-
/ignore-off Artchi all ...
-
also unter win, wäre das erst mal ne möglichkeit
#include "direct.h" char cwd[255]; memset(cwd,0,255); _getcwd(cwd,255);