text einlesen

yili

Grünschnabel
Hi, leute
ich habe wieder Problem mit dem einlesen von ASCII-Datei.
die Datei sieht aehnlich wie z.B:
# die Breite von Tisch
breite 2

wie kann ich die Zeile, die mit # anfaengt, nicht in meiner Liste einlesen?

Dank
 
Ääääh, wie liest du denn überhaupt ein?

Der richtige Ansatz ist vermutlich der, dass du die Datei zeilenweise einliest und bei jeder neuen Zeile prüfst, ob sie mit einem '#' beginnt. Ist das der Fall, dann ignorierst du sie und machst mit der nächsten Zeile weiter.
 
Vielleicht zeigst du am besten mal, wie du bisher die Datei einliest. Dann kann ich dir zeigen, was du ändern musst.
 
FILE* fConfig= fopen(argv[7],"r");

if(fConfig== 0L){
printf("can not open this file\n");
return 1;
}

ConfigFile config;
ConfigList configDaten;

while(!feof(fConfig)){

int nEl= fscanf(fConfig,"%s %s",config.Name,config.Wert);

if(nEl== 2 && (strcmp(config.Name,"#")!= 0)){
configDaten.AddItem(&config);
}
}
fclose(fConfig);


die Daten siehe so aus:
# xixixi hahha xii i
age 2

wie kann ich die zeile, die nicht mit # anfängt , einlesen?

dank dank
 
Die Antwort darauf ist ein bischen kniffliger. Im Moment habe ich leider keine Zeit, ein Beispiel zusammenzubauen. Werde mich morgen drum kümmern, falls nicht jemand anderes ein fertige Lösung bereit hat.
 
Lies doch einfach die ganze Zeile aus und schaue, ob der erste char ein '#' ist.
Falls nicht, spaltest du danach die Zeile erst in Name und Wert auf.
 
Original geschrieben von Thomas Kuse
Lies doch einfach die ganze Zeile aus und schaue, ob der erste char ein '#' ist.
Falls nicht, spaltest du danach die Zeile erst in Name und Wert auf.
Das Problem hier ist es, genau dafür ein Beispiel zu liefern, da yili anscheinend damit Probleme hat.
 
Zurück