Datei auslesen und in Memo schreiben
-
Hallo, ich versuche gerade eine Datei in ein Memo zu schreiben. Mittlerweile bin ich schon soweit gekommen ... jedoch habe ich ein Problem ...
Er meckert an meinem string strLine herum ...
d.h. Er kann den string nicht ins Memo schreiben, sonder will einen AnsiString. Kann ich den string in einen AnsiString umwandeln?
Oder gibt es eine Methode gleich den String in das Memo zu schreiben?ifstream infile; string strLine; infile.open("c:\\test"); if (!infile){ ShowMessage("Datei konnte nicht geöffnet werden!"); return 1; } else{ while(!infile.eof()) getline(infile,strLine); mAction->Lines->Append(strLine); infile.close(); return 0; } }Wenn ich folgendes schreibe,
mAction->Lines->Append((AnsiString)strLine);kommt diese Fehlermeldung
[C++ Fehler] Unit1.cpp(68): E2285 Keine Übereinstimmung für 'AnsiString::AnsiString(string)' gefunden
[C++ Fehler] Unit1.cpp(68): E2031 Typumwandlung von 'string' nach 'AnsiString' nicht zulässig
-
Hallo,
1. Dieser Thread gehört eigentlich in das BCB-Forum.
2.mAction->Lines->Append(strLine.c_str());Ein Blick in die Hilfe zu Append hätte auch nicht geschadet. Da steht nämlich, dass ein AnsiString als Parameter erwartet wird.
Ciao
-
War mir schon klar dass da ein AnsiString rein musste ... wusste eben nur nicht wie ich das mache

Aber danke für die schnelle Hilfe.
-
Nun ja, AnsiString hat keinen Konstruktor der std::string nimmt, dafür aber einen der char* akzeptiert. Deswegen funktioniert das mit c_str(). In diesem Fall wäre also die Hilfe zu AnsiString besser gewesen.