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
|
Verfasst am: 03.10.2003, 13:30 Titel: Dateien fscanf Hilfe |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 03.10.2003, 13:55 Titel: |
|
|
fscanf liest nicht eine ganze Zeile aus... _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
blackhunter Mini JLI'ler
Anmeldedatum: 19.07.2002 Beiträge: 35 Wohnort: Herzberg am Harz Medaillen: Keine
|
Verfasst am: 03.10.2003, 16:49 Titel: |
|
|
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 |
|
|
Tobias Mini JLI'ler
Alter: 34 Anmeldedatum: 20.02.2003 Beiträge: 13
Medaillen: Keine
|
Verfasst am: 03.10.2003, 18:33 Titel: |
|
|
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 |
|
|
blackhunter Mini JLI'ler
Anmeldedatum: 19.07.2002 Beiträge: 35 Wohnort: Herzberg am Harz Medaillen: Keine
|
Verfasst am: 03.10.2003, 19:00 Titel: |
|
|
danke
und was wird ausgelesen wenn ich nur
fscanf(pfile,"%s", stringBuffer);
habe??? _________________ visit: www.theblacknet.de |
|
Nach oben |
|
|
underberg JLI'ler
Anmeldedatum: 11.01.2003 Beiträge: 153
Medaillen: Keine
|
Verfasst am: 03.10.2003, 20:38 Titel: |
|
|
Der String bis zum Trennzeichen... |
|
Nach oben |
|
|
blackhunter Mini JLI'ler
Anmeldedatum: 19.07.2002 Beiträge: 35 Wohnort: Herzberg am Harz Medaillen: Keine
|
Verfasst am: 04.10.2003, 10:46 Titel: |
|
|
Trennzeichen was meinst du damit??? _________________ visit: www.theblacknet.de |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 04.10.2003, 10:53 Titel: |
|
|
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 |
|
|
Tobias Mini JLI'ler
Alter: 34 Anmeldedatum: 20.02.2003 Beiträge: 13
Medaillen: Keine
|
Verfasst am: 05.10.2003, 06:44 Titel: |
|
|
Ja, man kann es ändern, wie oben:
%[^Trennzeichen] - (ließt einen String bis zum angegebenen Trennzeichen) |
|
Nach oben |
|
|
blackhunter Mini JLI'ler
Anmeldedatum: 19.07.2002 Beiträge: 35 Wohnort: Herzberg am Harz Medaillen: Keine
|
Verfasst am: 06.10.2003, 17:24 Titel: |
|
|
Danke
jetzt hab ichs verstanden _________________ visit: www.theblacknet.de |
|
Nach oben |
|
|
philipp_boeing JLI'ler
Alter: 34 Anmeldedatum: 26.07.2003 Beiträge: 188
Medaillen: Keine
|
Verfasst am: 11.10.2003, 13:50 Titel: |
|
|
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 |
|
Nach oben |
|
|
|