(ANSI C) Parser Programmieren in C für DOS ?
-
Hi ich schreibe ein parser für dos der soll ein text File "Parsen"
nun habe ich ein paar problemen beim "parsen"
int main(void) { FILE *file; char buffer[200]; file = fopen("test.txt","r"); if(file == NULL) { printf("Fehler beim lesen der datei"); exit(1); } fread(buffer,sizeof(buffer),1,file); // while(buffer != NULL) { if(buffer[0] == '[') { ++buffer; expression(); } } fclose(file); getch(); return 0; }
JETZT Wie kann ich lesen der string der zwischen '[' test ']' ligt B.s test lesen ?
danke...
cu
-
Sieht mir alles nach ANSI-C aus ... dort wird der Thread auch hinverschoben.
Du liest übrigens in deinen Puffer mit 200 Zeichen nur ein einzelnes Zeichen aus der Datei. Falls das erste tatsächlihc '[' ist, musst du die restlichen 199 auch noch auslesen!
Dann kannst du mit:
for ( int i = 2 ; buffer [i] != 0 ; ++i ) { parse ( buffer [i] ); }
Dazu müssen aber zuerst alle Zeichen in buffer auf den Ascii-Code 0 gesetzt werden. Und der _komplette_ String muss in buffer eingelesen werden.
MfG SideWinder