JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Dateien fscanf Hilfe

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
blackhunter
Mini JLI'ler



Anmeldedatum: 19.07.2002
Beiträge: 35
Wohnort: Herzberg am Harz
Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 13:30    Titel: Dateien fscanf Hilfe Antworten mit Zitat

Ich hab hier vollgenden Quellcode:
Code:

long ResolutionNr;
   char stringBuffer[30] = "";

   FILE* pfile;

   if((pfile = fopen("Resolutions.txt","r")) == NULL)
   {
      cout<<"Couldn't Load File";
   }
   else
   {
      fscanf(pfile,"%s", stringBuffer);
      fscanf(pfile,"%s", stringBuffer);
      fscanf(pfile,"%s", stringBuffer);
      fscanf(pfile,"%s", stringBuffer);
      fscanf(pfile,"%s", stringBuffer);

      fscanf(pfile,"%s", stringBuffer);
      fscanf(pfile,"%d", &ResolutionNr);

      cout<<ResolutionNr;

      fclose(pfile);
   }

Dieser Quellcode soll folgende Datei auslesen:
Code:

possible_Resolutions:

(1)Resolution_800_600_16
(2)Resolution_800_600_32
(3)Resolution_1024_768_16
(4)Resolution_1024_768_32

Resolution_Nr: 4


Das Prog soll einfach nur erkennen welche Auflösung benutzt werden soll.
Das klappt jetzt auch alles ganz gut.
Aber der Quelltext is nich von mit und ich versteh da was nicht.
Der Ziel des Progs is das die 4 (hinter Resolution_Nr:) in der Varaiblen ResosutionNr gespeichert wird. Nur wie kommt die Zahl dahin????
Jeder Aufruf von fscanf ließt ja eine Zeile aus, es gibt 7 Aufrüfe die 4 steht aber in der 8. Zeile! Wieso steht nur die 4 und nich die ganze Zeile in der VAriablen??

DAnke für eure Hilfe
_________________
visit: www.theblacknet.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 13:55    Titel: Antworten mit Zitat

fscanf liest nicht eine ganze Zeile aus...
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
blackhunter
Mini JLI'ler



Anmeldedatum: 19.07.2002
Beiträge: 35
Wohnort: Herzberg am Harz
Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 16:49    Titel: Antworten mit Zitat

Wenn fscanf keine ganze Zeile ausließt, was ließt sie denn aus?
Könnt ihr mir mal sagen was die einzelnen fscanf Anweisungen auslesen?
_________________
visit: www.theblacknet.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Tobias
Mini JLI'ler


Alter: 34
Anmeldedatum: 20.02.2003
Beiträge: 13

Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 18:33    Titel: Antworten mit Zitat

fscanf ließt von der aktuellen Cursorposition so viel aus, wie du in die Zeichenkonstante schreibst. ("%i.....%s...")

Um eine ganze Zeile auszulesen, musst du
Code:
fscanf(pFile, "%[^\r\n]\r\n", pString);
benutzen.

Übersetzt: lese string von der aktuellen Cursorposition bis \r\n (%[^\r\n]), und dann lies \r\n. Nun befinden wir uns in einer neuen Zeile...

Um eine Zeile auszulesen, würde ich lieber fgets(...) benutzen....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
blackhunter
Mini JLI'ler



Anmeldedatum: 19.07.2002
Beiträge: 35
Wohnort: Herzberg am Harz
Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 19:00    Titel: Antworten mit Zitat

danke

und was wird ausgelesen wenn ich nur

fscanf(pfile,"%s", stringBuffer);

habe???
_________________
visit: www.theblacknet.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
underberg
JLI'ler



Anmeldedatum: 11.01.2003
Beiträge: 153

Medaillen: Keine

BeitragVerfasst am: 03.10.2003, 20:38    Titel: Antworten mit Zitat

Der String bis zum Trennzeichen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
blackhunter
Mini JLI'ler



Anmeldedatum: 19.07.2002
Beiträge: 35
Wohnort: Herzberg am Harz
Medaillen: Keine

BeitragVerfasst am: 04.10.2003, 10:46    Titel: Antworten mit Zitat

Trennzeichen was meinst du damit???
_________________
visit: www.theblacknet.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 04.10.2003, 10:53    Titel: Antworten mit Zitat

Ein Trennzeichen ist ein Zeichen, dass einzelne Tokens voneinander trennt. Bei fscanf ist es das Leerzeichen. Keine Ahnung ob man das ändern kann.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobias
Mini JLI'ler


Alter: 34
Anmeldedatum: 20.02.2003
Beiträge: 13

Medaillen: Keine

BeitragVerfasst am: 05.10.2003, 06:44    Titel: Antworten mit Zitat

Ja, man kann es ändern, wie oben:
%[^Trennzeichen] - (ließt einen String bis zum angegebenen Trennzeichen)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
blackhunter
Mini JLI'ler



Anmeldedatum: 19.07.2002
Beiträge: 35
Wohnort: Herzberg am Harz
Medaillen: Keine

BeitragVerfasst am: 06.10.2003, 17:24    Titel: Antworten mit Zitat

Danke

jetzt hab ichs verstanden
_________________
visit: www.theblacknet.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
philipp_boeing
JLI'ler


Alter: 34
Anmeldedatum: 26.07.2003
Beiträge: 188

Medaillen: Keine

BeitragVerfasst am: 11.10.2003, 13:50    Titel: Antworten mit Zitat

das ganze steht übrigens auch in dem Buch "3D-spiele mit C++ und DirectX" was du dir gekauft hast...

Oder ist der Code nur rein zufällig der selbe Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung 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