000
13.11.2007, 14:22 Uhr
~stupido
Gast
|
Hallo,
ich hab folgendes Problem: Ich parse eine txt Datei und fange ja durch bestimmte Keywörter die Informationen ab: global, lediglich das notwendige:
| C++: |
char *mod_type;
main: FILE *file; ifstream in("pu.txt"); char buffer[ZEILENLAENGE], f_name[20]; char *test; am_key_w=sizeof(key_w)/4; modtype.name="Mode Typ"; if( (file=fopen("test.txt","r")) == NULL) { fprintf(stderr, "Kann %s nicht oeffnen\n", f_name); // Fehlerkanal, Meldung return EXIT_FAILURE; } while ((fgets(buffer, 255, file) != NULL) && fend_check==0 ) { if (strstr(buffer,"FAILSTART") != 0) // erkennt "Failstart" in eingelesener Zeile {....//egal/// } else //str_cmp(buffer); { if (strstr(buffer,key_w[0])!= 0) // im Array steht keyword { printf("line %d : %s",i,buffer); n=strlen(key_w[0]); n+=1; // +Trennzeichen printf ("%d", n); strcpy(buffer, buffer+n+add_seperator); mod_type=buffer; checked++; modtype.cont=mod_type; test=mod_type; } } count++; } fclose(file); return EXIT_SUCCESS; }
|
Wenn ich mod_type sofort ausgebe steht das drin, was ich brauche, aber soblad ich es außerhalb, also nach der while Schleife auslese, steht entweder nichts drin oder mit ausprobieren die nächste Zeile...(ich habe tausend verschiedene kopien versucht; global ptr, struct und im main...aber es bleibt im Nachhinein leer) Hoffe ihr könnt mir helfen.
Danke!!
mod edit: Benutze die CPP Tags selber Dieser Post wurde am 13.11.2007 um 23:37 Uhr von Pablo editiert. |