Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » String aufteilen in Arrays

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.07.2006, 21:21 Uhr
mase



Hallo allerseits!
Dies ist mein erster Beitrag hier im Forum!
Ich hab grad erst mit meinem ersten C++-Programm angefangen und steh schon vor
einem Problem:
Ich habe einen String, der ungefähr so aussieht "a1\nb1\n1\na2\nb2\n2\n", also ein
paar Newlines drin hat.
Diesen String möchte ich in 3 Arrays aufteilen. Das soll dann so aussehen:

string array1[1] : a1
string array2[1] : b1
unsigned int array3[1] : 1

string array1[2] : a2
string array2[2] : b2
unsigned int array3[2] : 2

Die Anzahl der Felder wird im Laufe des Programms ermittelt. Es soll praktisch nach
jedem Newline in das nächste Array geschrieben werden. Die Newlines sollen dabei
nicht ins Array. Die Anzahl der Zeichen kann auch variieren. a1 kann auch mal aa234
heissen, also auch ein Name sein.
Ich hab mir den Wolf gegoogelt, aber keine Lösung zu diesem speziellen Problem
gefunden.
Kann mir jemand helfen!
--
May the force be with us!

Dieser Post wurde am 06.07.2006 um 21:28 Uhr von mase editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.07.2006, 22:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
als erstes, fangen die Indezes der Arrays mit 0 an, d.h das erste element ist 0, das zweite 1, usw. dann ansonsten sollte es imho so in der art gehen:


C++:
string meinstring = "a1\nb1\n1\na2\nb2\n2\n";
string array1[2]; // platz für 2 elemente, 0 - 1
string array2[2];
unsigned int array3[2];

stringstream conv;
conv << meinstring;

// bin mir jetzt nicht sicher ob das stringstream dir das \n rauskürzt oder nicht, wird dir virtual o.ä aber sagen können
conv >> array1[0];
conv >> array2[0];
conv >> array3[0];
conv >> array1[1];
conv >> array2[1];
conv >> array3[1];


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.07.2006, 15:02 Uhr
mase



Danke dir!
Dass ein Array mit 0 anfängt ist mir schon klar. Hab ich vergessen zu schreiben.
Aber ich werd deine Lösung mal testen.
--
May the force be with us!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: