ofstream in %windir%
-
hallo,
ich möchte mit
string windir = getenv("windir");
ofstream test;
test.open( windir.c_str + "/test.jpg",ios::out |ios::binary);eine datei in das %windir% packen nur leider macht der das nicht
was mache ich falsch?
-
Hi,
-> windir.c_str() + "/test.jpg" Kann nicht gut funktionieren, da du hier nur zwei Adressen addierst. c_str() gibt ein const char* zurück und du addierst dann zwei const char*. operator+ kannst du mit std::string wie gewünscht benutzen:string windir = getenv("windir"); windir += "/test.jpg"; ofstream test; test.open( windir.c_str,ios::out |ios::binary);
-
#include <cstdlib> #include <fstream> #include <string> int main() { const std::string var_windir(std::getenv("windir")); std::ofstream file_stream((var_windir + "/test.jpg").c_str(), std::ios_base::binary); return file_stream; }...
-
Den Rückgabewert von getenv einem std::string ohne weiteres zuzuweisen ist unschön. Du solltest auf jeden Fall prüfen, ob getenv etwas ungleich 0 liefert, bevor zu das dem std::string zuweist.
-
danke hat mir sehr weiter geholfen