Zeilen eines zweidimensionalen Arrays an string übergeben?
-
Hi Leute!
Ich hab ein zweidimensionales Array und ich möchte über eine for-Schleife einer Stringvariable zeilenweise den Inhalt des Arrays zuweisen. Wie geht das?
Ich hab natürlich schon einiges ausprobiert, aber das funktioniert so nicht ganz:
for(int i = 0; i<len; i++) { for(int j = 0; j<3; j++) { command = programMemory[i]; } }
Wenn ich das so wie oben schreibe, dann hab ich in command ALLES stehen. Ich will aber nur die Zeile die durch i adressiert wird. Wenn ich die zweite Dimension dazunehme, dann überschreibt er mir immer das vorhergegangene Zeichen...
Wie kann man das machen?
-
Zu wenig Informationen...
-
Wie genau willst du das denn haben?
command enthält eine Zeile, oder alle durch irgendein Zeichen getrennt?
Für letzteres wäre das eine Lösung.
for (std::size_t i = 0; i < len; ++i)
command += programMemory[i] + seperator;
Oder willst du vielleicht ein Array von char-Arrays zu einem Array von Strings machen?
-
vip@r schrieb:
for(int i = 0; i<len; i++) { for(int j = 0; j<3; j++) { command = programMemory[i]; } }
Wenn du das so machst, dann steht in command nur das drin, dass bei beim dritten Durchlauf(j=2) bei programMemory[len] ausgegeben wird, weil das ja immer wieder überschrieben wird.
Um da drüber nachdenken zu können, müsst ich irgendeine Vorstellung haben, was "programMemory" ausspuckt.
edit: aso, verstehe, da ist eh alles drin. Ich hab ehrlich gesagt keine Erfahrung mit Textmanipulation in C++, aber eine Zeile ist immer mit einem newline-Character abgeschlossen. Im schlimmsten Fall musst du dir die rausparsen.