Hi
Mal etwas, dass nichts mit einem Image zu tun hat.
Ich habe eine Textdatei die wie folgt aufgebaut ist:
1,Peter,32,Hamburg Altona
2,Frank,37,Neustadt
Ich habe nun das Problem, dass ich die Datei einlesen muss und die einzelnen Felder in ein Array schreiben. Wobei es äussert praktisch wär wenn der erste Wert auch gleich als Index verwendet werden würde.
Aussehen sollte es dann so:
ARR[1] => [0] => "Peter", [1] => "32", [2] => "Hamburg Altona"
ARR[2] => [0] => "Frank", [1] => "37", [2] => "Neustadt"
Mit ARR[1][2] möchte dann gerne als Ausgabe "Hamburg Altona" haben.
Meine Frage ist, wie würdet Ihr an die Sache rangehen?
So langsam bin ich am verzweifeln.
Gruß
Textdatei einlesen..
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: Textdatei einlesen..
welche Programmier-/Skriptsprache?
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
Re: Textdatei einlesen..
Hi
Sorry, es handelt sich um C/C++
Ich hänge immer wieder an der selben Stelle.
Ich versuche das so:
Ich hatte das schon mit Vectoren versucht aber da bekommen ich immer die Compilermeldung, dass ist char* nicht nach char konvertieren kann.
MAP oder MULTIMAP verstehe ich scheinbar genauso wenig...
Da das Array in der kompletten Klasse global verfügbar sein sein habe ich in der Headerdatei den Vektor mit vector<char> arrSpec; angelegt.
Die Fehlermeldung ensteht hier!
Fals das ganze mit XML besser gehen sollte, habe ich noch die Möglichkeit die Vorlage auch als XML Datei zu generieren:
Gruß
Sorry, es handelt sich um C/C++
Ich hänge immer wieder an der selben Stelle.
Ich versuche das so:
Code: Alles auswählen
FILE *spec;
char specBuffer[50];
char s1[50]="";
char s2[50]="";
char s3[50]="";
spec = fopen (specFile,"r");
if ( spec == NULL ) return 1;
while (!feof(spec)) {
fgets(specBuffer, 50, spec);
printf("Zeile: %s\n", specBuffer);
std::string buf = specBuffer;
if( sscanf(buf.c_str(), "%s,%s,%s", s1, s2, s3) == 3 )
{
UND GENAU HIER BEKOMME ICH DAS ANLIEGEN NICHT HIN !!!
}
}
fclose(spec);
MAP oder MULTIMAP verstehe ich scheinbar genauso wenig...
Da das Array in der kompletten Klasse global verfügbar sein sein habe ich in der Headerdatei den Vektor mit vector<char> arrSpec; angelegt.
Die Fehlermeldung ensteht hier!
Code: Alles auswählen
if( sscanf(buf.c_str(), "%s,%s,%s", s1, s2, s3) == 3 )
{
char* myArray [] = { s1, s2, s3 };
=====> arrSpec.insert( arrSpec.begin(), myArray, myArray + 3 );
}
Code: Alles auswählen
<list>
<person
id="1"
name="Horst"
ort="Stuttgart"
/>
</list>
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
Re: Textdatei einlesen..
*Update*
Ich habe das ganze jetz auf XML umgestellt. Da gab auf jeden Fall weniger Probleme mit dem Auslesen der Daten.
Jetzt habe ich nun drei char Arrays mit dem jeweilig passenden Inhalt.
Jetzt bleibt noch die Frage offen wie ich die drei char Arrays ins eins Packe.
btw:
Ich habe mir wegen der XML Geschichte mal Deinen Code (Houdini) zum Internetradio durchgelesen und verwendet.
Ich hänge jetzt übertragen gesehen hier : processPlaylistUrl(url, name);
Bei mir müsste ja jetzt sowas stehen wie: packeDreiCharInEins(id, name, ort);
Damit ich später mit arr[0][2] die Ausgabe "Stuttgart" oder mir arr[1][2] Hamburg bekomme.
Gruß
Ich habe das ganze jetz auf XML umgestellt. Da gab auf jeden Fall weniger Probleme mit dem Auslesen der Daten.
Jetzt habe ich nun drei char Arrays mit dem jeweilig passenden Inhalt.
Jetzt bleibt noch die Frage offen wie ich die drei char Arrays ins eins Packe.
btw:
Ich habe mir wegen der XML Geschichte mal Deinen Code (Houdini) zum Internetradio durchgelesen und verwendet.
Ich hänge jetzt übertragen gesehen hier : processPlaylistUrl(url, name);
Bei mir müsste ja jetzt sowas stehen wie: packeDreiCharInEins(id, name, ort);
Damit ich später mit arr[0][2] die Ausgabe "Stuttgart" oder mir arr[1][2] Hamburg bekomme.
Gruß
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
Re: Textdatei einlesen..
Und jetzt mal das letzte Update. Ich verzweifel.
Ich habe das array im Headerfile angelegt: char *arrSpec[9][3];
Obwohl ich gerne ein Array hätte dessen grösse, zumindest der ersten Ebene, nicht bekannt ist.
Auf der Console erscheint auch:
Gefunden : 1 Klaus Hamburg
Gefunden : 2 Fritz Berlin
Gefunden : 3 Hans Ulm
Gehe ich später hin und lasse mir arrSpec[0][0 bis 2] ausgeben sieht es so aus:
Was ist in 1? : HI(ueg, HIHs HIhurg
Gruß
Ich habe das array im Headerfile angelegt: char *arrSpec[9][3];
Obwohl ich gerne ein Array hätte dessen grösse, zumindest der ersten Ebene, nicht bekannt ist.
Code: Alles auswählen
if ( id != NULL ) {
arrSpec[listPos][0] = id;
arrSpec[listPos][1] = name;
arrSpec[listPos][2] = ort;
printf("Gefunden : %s %s %s\n", id, name, ort);
}
Gefunden : 1 Klaus Hamburg
Gefunden : 2 Fritz Berlin
Gefunden : 3 Hans Ulm
Gehe ich später hin und lasse mir arrSpec[0][0 bis 2] ausgeben sieht es so aus:
Code: Alles auswählen
printf("Was ist in 1? : %s %s %s\n", arrSpec[0][0], arrSpec[0][1], arrSpec[0][2]);
Gruß
-
- Developer
- Beiträge: 467
- Registriert: Dienstag 15. Juli 2003, 10:58
Re: Textdatei einlesen..
Hat sich dann erledigt.
Ich sollte in Zukunft vieleicht den Abschnitt über Vektoren genauer lesen.
Gruß und Close...
Ich sollte in Zukunft vieleicht den Abschnitt über Vektoren genauer lesen.
Gruß und Close...