string problem (mehrere Wörte einlesen)
-
Moin,
ich habe ein Prog. geschrieben indem der User eine seine Ausgabedatei selbst benennen kann.
string Dateiname;
cout << "Geben Sie einen Namen ein: \n";
cin >> Dateiname;
std::ofstream Ausgabe((Dateiname+".txt").c_str());
Jetzt wird aber immer nur das erste Wort eingelesen. Wie kann ich mehrere Wörter einlesen...habe schon ein bissel mit getline ausprobiert klappt aber leider nicht... vielen Dank für eure Hilfe
-
sicher das:
string str; getline(cin,str);
nicht geht?
-
5er1al schrieb:
sicher das:
string str; getline(cin,str);
nicht geht?
so klappt es leider auch nicht...
bei mir steht jetzt
string Dateiname;
cout << "Geben Sie einen Namen ein: \n";
getline(cin,Dateiname);
std::ofstream Ausgabe((Dateiname+".txt").c_str());
-
so wird einfach nur eine .txt erstellt ohne das der Name übernommen wird
-
auf anhieb würd ichs einfach so machen:
int main(int argc, char* argv[]) { string str; getline(cin,str); str+=".txt"; const char* chr=str.c_str(); fstream datei(chr,ios::out); return 0; }
bei mir gehtz!
-
danke erstmal,
bei mir gehts auch soweit nur das die endung txt jetzt nicht automatisch ans ende gehängt wird
-
dragonball-l schrieb:
danke erstmal,
bei mir gehts auch soweit nur das die endung txt jetzt nicht automatisch ans ende gehängt wird?
wieso nciht?
str+=".txt"?
-
doch
liegt das vielleicht am VC6.0so siehts jetzt aus
#include<fstream>
#include<iostream>
#inclucde<string>using namespace std;
int main(int argc, char* argv[])
{
string str;
getline(cin,str);
str+".txt";
const char* chr=str.c_str();
fstream datei(chr,ios::out);
return 0;
}
-
doch
liegt das vielleicht am VC6.0so siehts jetzt aus
#include<fstream>
#include<iostream>
#inclucde<string>using namespace std;
int main(int argc, char* argv[])
{
string str;
getline(cin,str);
str+".txt";
const char* chr=str.c_str();
fstream datei(chr,ios::out);
return 0;
}
-
str + ".txt";
funktioniert und
str += ".txt";
nicht?
-
hm...
zeig mal deinen quellcode bitte in codetags und sag genau ob der code geht oder nicht!
-
nee, umgekehrt...mit + nicht und mit += funkt. es
danke euch!
-
dragonball-l schrieb:
nee, umgekehrt...mit + nicht und mit += funkt. es
danke euch!
Hätte mich auch gewundert.
-
genau umgekehrt,
jetzt läuft es
danke euch!
-
also bei lag es daran das ich es in einer funktion laufen lies...was muß ich ändern damit es da auch klappt?
-
-
bitte mal frage etwas genauer stellen bitte!
-
sobald der code so aussieht klappt es nicht mehr
int main (int argc, char* argv[])
{
funktion();
return 0;
}
funktion()
{
string str;
getline(cin,str);
str+=".txt";
const char* chr=str.c_str();
fstream datei(chr,ios::out);
}
-
funktioniert nicht ist keine genügende fehlerbeschreibung!
und nimm bitte code tags!
code
mach mal aus
function()
void function()
-
es wird keine .txt mehr erstellt.
komischer weise nur in meinem Programm. mit dem Beispiel
dragonball-l schrieb:
int main (int argc, char* argv[])
{
funktion();
return 0;
}
funktion()
{
string str;
getline(cin,str);
str+=".txt";
const char* chr=str.c_str();
fstream datei(chr,ios::out);
}klappt es. Hab den Quelltext von meinem Prog. leider nicht auf dem Rechner hier...besorge nach dem Mittag mal um einen USB Stick