Datei mit string als Parameter öffnen

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
mampfi
Beiträge: 42
Registriert: 4. Juni 2015 11:32

Datei mit string als Parameter öffnen

Beitrag von mampfi »

Zunächst mal frohes Fest.


Das Ganze spielt sich in einem Objekt ab, dürfte aber wohl keine Rolle spielen.

Ich möchte eine Datei mit einem String als Parameter öffnen.

String ist deklariert in dieser Art.

dateiname = "cpprec.txt";


fstream datei(dateiname, ios::out); //funktioniert nicht


Fehlemeldung von gnu c++ auf einem debian-linux:

no known conversion for argument 1 from ‘std::string {aka std::basic_string<char>}’ to ‘const char*’
/usr/include/c++/4.9/fstream:806:7: note: std::basic_fstream<_CharT, _Traits>::basic_fstream() [with _CharT = char; _Traits = std::char_traits<char>]
basic_fstream()
sowas
Beiträge: 105
Registriert: 19. September 2006 16:02

Re: Datei mit string als Parameter öffnen

Beitrag von sowas »

z.B. so

Code: Alles auswählen

 
QFile inFile("/home/peter/qt5entw/versuche/uebung/unisa2/daten155.txt");
inFile.setFileName("daten155.txt");
if (!inFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
    qDebug() << "1) Could not open the file" << inFile.fileName() << "for reading:" << inFile.errorString();
    return ;
}else{
     QTextStream inStream(&inFile);
     aufstellung.append(inStream.readAll());
     inFile.close();
 }

frohes Fest
mampfi
Beiträge: 42
Registriert: 4. Juni 2015 11:32

Re: Datei mit string als Parameter öffnen

Beitrag von mampfi »

Danke für die Antwort.

Leider hat der erkältete mampfi nicht klar genug ausgedrückt, dass die Frage sich auf Standard-C++ bezieht und nicht auf QT.


Nun ich möchte die Datei mit einer Variable öffnen zur Verwendung in einer Klasse.

Was funktiniert ist:

fstream datei(char_dateiname, ios::app);

wobei folgende Deklaration vorausging:

char char_dateiname[256];


Ist irgendwie seltsam, dass (GNU-)C++ gerne char als Parameter hat und nicht String.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Datei mit string als Parameter öffnen

Beitrag von Christian81 »

Da C++ auf C aufbaut ist das nicht verwunderlich sondern sogar sinnvoll. Und std::string ist auch nur ein 'typedef basic_string<char> string;'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
mampfi
Beiträge: 42
Registriert: 4. Juni 2015 11:32

Re: Datei mit string als Parameter öffnen

Beitrag von mampfi »

Somit ist es ärgerlich, das "damals" C++ nicht als komplett neue Programmiersprache. definiert wurde.

Hätte gerne mal (im Rahmen von Wissensaufrischung) eine Dateiverwaltungsklasse programmiert, liegt erstmal auf Eis.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Datei mit string als Parameter öffnen

Beitrag von Christian81 »

Dann würde C++ aber nicht C++ heißen ... so ists schon korrekt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten