fscanf - hab ich was übersehen??
-
Hi, folgendes Problem:
[code] void region::insertstaticff(char* filename, LONG x, LONG y, FLOAT rotation) { FILE* file; file = fopen(filename,"r"); int tID; LONG dX; LONG dY; TCHAR buff[256]; //Dateiname des Bitmaps DWORD file_width; DWORD file_height; int graphOffsetX; int graphOffsetY; DWORD gWidth; DWORD gHeight; bool top; while(fscanf(file,"[ %255hs ]",buff) != EOF) { if(_tcscmp(buff,TEXT("ground")) == 0) { top = false; }else { if(_tcscmp(buff,TEXT("top")) == 0) { top = true; }else { fclose(file); return; } } fscanf(file,"%255hs %lu %lu %d %d %lu %lu %d %d", buff,&file_width,&file_height,&graphOffsetX, &graphOffsetY,&gWidth,&gHeight,&dX,&dY); tID = engine::get_singleton()->InitBitmap(buff,file_width,file_height); this->insertstatic(x + dX,y + dY,gWidth,gHeight,tID,rotation,top,graphOffsetX, graphOffsetY); } fclose(file); }
Hier die geladene Datei dazu:
[ ground ]
Gras.bmp 142 113 0 0 142 113 0 0
[ top ]
Stamm.bmp 180 161 0 0 180 161 0 0Ok, hier ist mein Problem:
Der erste Schleifendurchlauf klappt ohne Probleme.
Beim zweiten Schleifendurchlauf bleibt buffer auf "Gras.bmp" und wird nicht wie erwartet zu "top". Wie kann das sein?? Die Parameterzahl in der Datei stimmt, auch die erwarteten eckigen Klammern sind da, also warum setzt der beim zweiten Durchlauf buffer nicht auf "top" sondern verändert nichts an buffer??PS Sorry das da so viele Variablen gesetzt werden :p
/edit: Code Tags :p
-
Dieser Thread wurde von Moderator/in rapso aus dem Forum Spiele-/Grafikprogrammierung in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
das geht so nicht es ist vieles falsch^^
-
Also ein _bisschen_ genauer wüsst ichs schon gerne. Ich kommt von alleine nicht drauf.
-
du koentest code tags benutzen damit man den code lesen kann^^
-
^^ Okay hab ich gemacht.
-
ich glaube es liegt an den [ und ] zeichen
das get so nicht, laß die mal alle weg^^PS
warum benuzt du nicht XML das währe einfacher&flexiebler^^
-
Jo, stimmt, ich werd mich mal reinarbeiten und dann auf XML umstellen. Mir gings erstmal um eine _sehr_ einfache Variante. XML hätte aber tatsächlich Vorteile.
Okay, ich hab deinen Vorschlag getestet und tatsächlich lags an den Klammern. Hab aber kA wieso, vor allem weil die doch durch Whitespaces vom Formatiersymbol und in der Datei vom relevanten Teil getrennt waren!