Seite 1 von 1

Datei mit string als Parameter öffnen

Verfasst: 24. Dezember 2015 14:13
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()

Re: Datei mit string als Parameter öffnen

Verfasst: 24. Dezember 2015 15:57
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

Re: Datei mit string als Parameter öffnen

Verfasst: 3. Januar 2016 16:33
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.

Re: Datei mit string als Parameter öffnen

Verfasst: 5. Januar 2016 07:20
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;'

Re: Datei mit string als Parameter öffnen

Verfasst: 14. Januar 2016 19:53
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.

Re: Datei mit string als Parameter öffnen

Verfasst: 14. Januar 2016 20:10
von Christian81
Dann würde C++ aber nicht C++ heißen ... so ists schon korrekt.