ATwork Geschrieben 16. März 2005 Teilen 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 16. März 2005 Teilen 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ATwork Geschrieben 16. März 2005 Autor Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 17. März 2005 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.