JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=931bfda8603132b72283d9b199cad1adMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Datenlesen funzt nich

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 13:03    Titel: Datenlesen funzt nich Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 15:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 16:06    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 16:09    Titel: Antworten mit Zitat

Ich werds mal versuchen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 19:51    Titel: Antworten mit Zitat

Falls das auch nicht klappt, kannst du dir ja mein Scriptsprachentutorial(auf meiner Hp) vornehmen Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 19:55    Titel: Antworten mit Zitat

Wenn streams nicht gehen, kannst du dir deine fget*() hacks sowieso in den ##### schieben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.07.2003, 20:04    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 02.07.2003, 09:52    Titel: Antworten mit Zitat

Die Streams funktionieren bei mir irgendwie auch nicht. Ich schau mir mal des Scriptsprachen-Tutorial an.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum