ATwork Geschrieben 16. März 2005 Geschrieben 16. März 2005 Hallo Leute, hab diesmal folgendes Problem. Habe einen Text per ifstream ausgelesen und in einen AnsiString verschoben. jetzt adde ich einen substring an der stelle (i, 1) ein Zeichen weit und möchte den in ein characterarray schieben, weiß aber nicht wie? könnt ihr bitte helfen... quellcode sieht ungefähr so aus. using namespace std; vector<string> ganzerText; string zeile; char textArray[1000]; ifstream eingabe ("c:\\Test.txt"); ofstream ausgabe("c:\\ausgabe.txt"); ganzerText.clear(); Memo1->Clear(); while (getline(eingabe, zeile,'\0')) { ganzerText.push_back(zeile); ausgabe << zeile; } eingabe.close(); //ausgabe.close(); AnsiString neuerText = ""; for (int i=0; i<ganzerText.size(); i++) { neuerText += ganzerText.at(i).c_str(); } for (int i=0; i<neuerText.Length(); i++) { Memo1->Lines->Add(neuerText.SubString(i,1)); } } [/php]
SNOWMAN Geschrieben 16. März 2005 Geschrieben 16. März 2005 Ich würd das schieben von ganzertext ins textarray so machen: for( int i = 0; i < sizeof(ganzertext); i++){ textarray(i) = mid(ganzertext, i, 1); } [/PHP]
ATwork Geschrieben 16. März 2005 Autor Geschrieben 16. März 2005 was soll den mid(...) für eine funktion sein? der kennt die bei mir gar nicht. hab davor auch stringtochar ausprobiert, komm aber nicht drauf, den code richtig zu schreiben.
kLeiner_HobBes Geschrieben 17. März 2005 Geschrieben 17. März 2005 Warum benutzt du denn nicht c_str()? Ich kapier den Sinn deines Codes zwar nicht ganz, sieht mir ziemlich nach Umweg aus, aber wenn du es so kompiziert machen willst, dann heißt es: for (int i = 0; i < 999 && i < neuerText.Length(); i++) textArray[i] = (char)*neuerText.SubString(i,1).c_str(); Ist aber wirklich umständlich. Einfacher sollte es gehn mit: textArray = neuerText.SubString(0,1000).c_str(); Ich weiß jetzt nicht, wie er reagiert, wenn die Länge von neuerText unter 1000 liegt, evtl. mußt du da noch was einbauen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden