problem: string als dateiname - ofstream datei(string);
-
Ich würde gerne einen Dateinamen als string eingeben, und in der Funktion ofstream nur noch auf den String verweisen. Klappt aber nicht. Wenn ich das gleiche mache, aber den string als char[80] implementiere, dann gehts.
Als erweiterung würde ich gerne den Dateinamen in zwei Teile gliedern und später dann in der ofstream funktion schreiben: "string1+string2" das geht bei char´s aber nicht. deswegen möchte ich das mit strings regeln. Für jede Antwort bin ich dankbar.Mein Quellkot ist im folgenden abgedruckt
#include <stdlib.h>
#include <string>
#include <fstream.h>string name1 = "test.txt"; // hier wird sting auch nicht fett gedruckt
// wiez.B. char oder intint main()
{
ofstream datei(name1);
datei << "warum klappt das nicht?\n";
datei.close();
system("PAUSE");
return 0;
}
-
armer willi schrieb:
Mein Quellkot ist im folgenden abgedruckt
Ja ja, der Quellkot

#include <cstdlib> #include <string> #include <fstream> using namespace std; int main() { string name1 = "test.txt"; ofstream datei(name1.c_str()); //Hier, wichtig, der ofstream erwartet char * if (!datei) //Datei ok? return 1; datei << "Klappt doch\n"; datei.close(); cin.get(); //besser als system return 0; }Edit:
Nebenbei: .h Header sind veraltet!
-
ofstream erwartet einen char* als Namen - den du aber problemlos mit "name.c_str()" aus einem std::string holen kannst.
string name1="Hallo.txt"; ofstream fout(name1.c_str());PS: Quellcode schreibt man übrigens weder mit K noch mit T

-
armer willi schrieb:
Mein Quellkot ist im folgenden abgedruckt
Ich finde deinen Quellcode auch Sch.....

-
Troll
