Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 01.07.2003, 13:03 Titel: Datenlesen funzt nich |
|
|
Hi,
ich hab 'n kleines Problem beim Lesen von Daten aus einer Datei
Hier mal der Quellcode
Code: | SPRITEDATA ReadSpriteData(LPCSTR FileName)
{
SPRITEDATA SpriteData = { 0 };
FILE* File;
char* CurrentBuffer = 0;
int CurrentAnimation = 0;
int CurrentPicture = 0;
int WorkSet = NAME;
File = fopen(FileName, "r");
while(TRUE)
{
fgets(CurrentBuffer,40,File);
if(CurrentBuffer == "*")
{
break;
}
if(WorkSet == NAME)
{
strcpy(SpriteData.BitmapFileName, CurrentBuffer);
WorkSet = ANIMATION;
}
if(WorkSet == ANIMATION)
{
if(CurrentBuffer == "STAND")
{
CurrentAnimation = STAND;
CurrentPicture = 0;
}
else if(CurrentBuffer == "WALK")
{
CurrentAnimation = WALK;
CurrentPicture = 0;
}
else if(CurrentBuffer == "KNEED")
{
CurrentAnimation = KNEED;
CurrentPicture = 0;
}
else if(CurrentBuffer == "JUMP")
{
CurrentAnimation = JUMP;
CurrentPicture = 0;
}
else if(CurrentBuffer == "HIT")
{
CurrentAnimation = HIT;
CurrentPicture = 0;
}
WorkSet = PICTURE;
}
if(WorkSet == PICTURE)
{
if(CurrentBuffer == "#")
{
WorkSet = ANIMATION;
}
else
{
SpriteData.Animation[CurrentAnimation][CurrentPicture] = (int*)CurrentBuffer;
CurrentPicture += 1;
}
}
}
return SpriteData;
} |
Das Problem ist das Immer wenn ich die Funktion ausführe eine Fehlermeldung kommt die Behauptet das in fgets.c der Fehler: string != NULL vor kommt. Keine Ahnung was da falsch ist. |
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 01.07.2003, 15:57 Titel: |
|
|
Zum besseren Verständnis:
NAME, ANIMATION und PICTURE sind enumeriert.
KNEED, WALK, JUMP, HIT und STAND auch.
hmm, da kommt mir gerade eine Idee. Löscht fgets() den übergebenen String eigentlich??? Es könnte ja daran liegen das der String nicht leer ist.
[Edit]
Mit CurrentBuffer = 0 gehts nicht.
[/Edit] |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.07.2003, 16:06 Titel: |
|
|
Benutze die STL und Streams und du hast solche Probleme nicht. ;)
Wie das geht habe ich neulich erst geschrieben(der scanf() Thread). _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 01.07.2003, 16:09 Titel: |
|
|
Ich werds mal versuchen. |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 01.07.2003, 19:51 Titel: |
|
|
Falls das auch nicht klappt, kannst du dir ja mein Scriptsprachentutorial(auf meiner Hp) vornehmen _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
gl_echse JLI'ler
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 01.07.2003, 19:55 Titel: |
|
|
Wenn streams nicht gehen, kannst du dir deine fget*() hacks sowieso in den ##### schieben |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.07.2003, 20:04 Titel: |
|
|
Und wenn du mit deinen Provokationen nicht aufhörst, kannst du dir deine Mitgliedschaft an diesem Forum in den ##### schieben. Du verhälst dich nicht nur auf diesem Board überdurchschnittlich auffällig. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 02.07.2003, 09:52 Titel: |
|
|
Die Streams funktionieren bei mir irgendwie auch nicht. Ich schau mir mal des Scriptsprachen-Tutorial an. |
|
Nach oben |
|
|
|