string ende

Thomas-H

Mitglied
Hallo,
ich möchte gerne eine ganze Zeile mittels eines Strings einlesen. Kann mir jemand sagen wie wie das funktioniert? Im Moment wird immer nur das erste Wort eingelesen.
Ich benute VC6.0

code sah bis jetzt so aus,

string Dateiausgabe;

cout << Bitte geben Sie einen Dateinamen ein...";
cin >> Dateiausgabe;

std::ofstream Ausgabe((Dateiname+".txt").c_str());


habe gerade was mit istream& getline(istream & strm, string &Dateiname);

ausprobiert haut aber nicht wirklich hin....
Vielen Dank im voraus...
gruss Thomas
 
moin


Code:
#include <fstream>

using namespace std;

int main()
{
	char zeile[100];

	ifstream datei("xxxx.txt");

	datei.getline(zeile, 100, '\n');

	cout<< zeile;

        datei.close();	
		
        return 0;
}


mfg
umbrasaxum
 
so ähnlich wollte ich es auch machen aber dann kann ich meine Dateiendung nicht mehr bestimmen....deswegen möchte ich eine ganze Zeile als String einlesen....
 
moin


Wie kannst du deine Dateiendung nciht mehr bestimmen? Es ist doch kein Problem die beiden Codes zu kobinieren.

Und das gleich als string einzulesen wollte nciht gehen, dann musste es halt nach dem einlesen "zeile" in eine Variable von Typ string packen.


mfg
umbrasaxum
 
also mein Quellcode sieht jetzt so aus:

char zeile[100];
string Ausgabe(Zeile);

cout << "Bitte geben Sie einen Namen ein";

cin.getline(Zeile, 100, '\n');

Wie kann ich denn jetzt den Wert aus Zeile an Ausgabe übergeben?

damit ich dann den Dateinamen mit
ofsteam bla((Ausgabe+".txt").c_str());
bestimmen kann?
 
Also ich hab auch mal sowas gemacht, und dabei in einen string ausgelesen,
bin mir aber mit den Parametern selber nicht so ganz sicher.
Code:
//--------------------------------------------------------------------------- 

#include <vcl.h> 
#pragma hdrstop 
#include <iostream.h> 
#include <fstream.h> 
#include <string> 

//--------------------------------------------------------------------------- 

#pragma argsused 
void main() 
{ 
string test; 


{ 
ifstream fin ("test.txt"); 

getline(fin,test,'\0');//'\0' steht dafür bis wohin, wenn du '\n' machst liest er nur eine Zeile 
} 
 
{ 
ofstream fout ("test.txt"); 

fout << "!Dein Text!" ; //für die ausgabe in eine Datei
} 
getchar(); 
} 
//---------------------------------------------------------------------------
 
Zurück