JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Integer aus Datei auslesen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mäscht
JLI'ler



Anmeldedatum: 22.05.2003
Beiträge: 150
Wohnort: Bad Hofgastein\Österreich
Medaillen: Keine

BeitragVerfasst am: 07.01.2004, 12:15    Titel: Integer aus Datei auslesen Antworten mit Zitat

Wie kann ich eigentlich eine Zahl aus einer Datei auslesen und als Zahl speichern? Im MSDN habe ich _getchr() gefunden, aber irgendwie geht das nicht so ganz!!
_________________
Motz´z mi net o, i bin ofänga!! AEIOU für immer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.01.2004, 12:24    Titel: Antworten mit Zitat

Erstmal das ganze normal in einen string lesen (fscanf) und dann mit strtod in einen double wert wandeln und auf integer casten.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 07.01.2004, 12:27    Titel: Antworten mit Zitat

Das kommt auch drauf an, ob die Datei textbasiert oder binär geschrieben ist.
Je nach dem ließt du dann die Zahl aus:
fgets() - textbasiert
fread() - binär

Umwandeln kannst du das dann mit atoi()

PS: Ich hab die Parameter gerade nich im Kopf, aber in der MSDN stehen sie 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
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 07.01.2004, 14:56    Titel: Antworten mit Zitat

Mit Streams(Textmodus):

dein_ifstream >> dein_double;

Kurz und schmerzlos. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 07.01.2004, 18:29    Titel: Antworten mit Zitat

WrtitePrivateProfileString - schreiben
Code:
BOOL WritePrivateProfileString(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  LPCTSTR lpString,
  LPCTSTR lpFileName
);

O. ooo Bei dieser Funktion müssen wir ja einen String übergeben.
Warum benutzen wir nicht einfach WritePrivateProfileInt, oder so was?
Tja, komischerweise haben die tollen Microsoft Leute diese Funktion für überflüssig gehalten.
Also müssen wir mit z.B wsprintf die Integervariable in eine Stringvariable umwandeln, damit die Funktion zufrieden ist.


GetPrivateProfileInt - lesen
Code:
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  INT nDefault,
  LPCTSTR lpFileName
);


Diese Funktionen erstellen und lesen aus einer INI-Datei.
Eine INI Datei ist textbasiert und man kann manuell leicht überprüfen was reingeschrieben worden ist, indem man sie mit dem Notepad öffnet.

<EDIT>
Ich seh grad, dass du diese Funktionen nicht so gut gebrauchen kannst.
Es sei denn du liest aus einer INI-Dazei. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 18:13    Titel: Antworten mit Zitat

FallenAngel84 hat Folgendes geschrieben:
Erstmal das ganze normal in einen string lesen (fscanf) und dann mit strtod in einen double wert wandeln und auf integer casten.

HUI, recht weit ausgeholt Wink
Warum nicht gleich fscanf(fp,"%d",&MeinInt); ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 21:46    Titel: Antworten mit Zitat

oder auch mit:

Code:

FILE *Datei = fopen("test.txt","r");
char Puffer[256];
int zahl=0;

if(NULL != Datei)
{
fgets(Puffer,sizeof(Puffer),Datei);
zahl = atoi(Puffer);
}
fclose(Datei);

Das ist jetzt für die Einlesung einer Zahl aus der ersten Zeiler einer Datei. Smile
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 10.01.2004, 22:27    Titel: Antworten mit Zitat

@KI: Hm, dafür war es interessant zu hören wie man ini dateien liest Wink danke kann noch hilfreich werden Smile
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: 11.01.2004, 12:02    Titel: Antworten mit Zitat

@TheMillenium: Hab ich schon geschrieben Wink
@Mäscht: Aus was für einer Datei willst du denn die Zahl auslesen? Wie du siehst gibts da ja viele Möglichkeiten Razz
_________________
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
Mäscht
JLI'ler



Anmeldedatum: 22.05.2003
Beiträge: 150
Wohnort: Bad Hofgastein\Österreich
Medaillen: Keine

BeitragVerfasst am: 12.01.2004, 08:27    Titel: Antworten mit Zitat

Das mit fscanf(char,"%d",&int) hab ich schon versucht, geht aber nicht!
_________________
Motz´z mi net o, i bin ofänga!! AEIOU für immer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 12.01.2004, 08:34    Titel: Antworten mit Zitat

Das liegt daran das kein char als erster Parameter sondern ein FileHandle verlangt wird. und &int sollte auch für gewaltige Probleme sorgen falls du das wirklich so geschrieben hast.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mäscht
JLI'ler



Anmeldedatum: 22.05.2003
Beiträge: 150
Wohnort: Bad Hofgastein\Österreich
Medaillen: Keine

BeitragVerfasst am: 13.01.2004, 12:13    Titel: Antworten mit Zitat

So hab ichs eh gemeint:

Code:

FILE* File =fopen("TEST.txt","a+");
int zahl;
fscanf(File,"d",%zahl);
[/code]
_________________
Motz´z mi net o, i bin ofänga!! AEIOU für immer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.01.2004, 13:45    Titel: Antworten mit Zitat

Versuche das mal:

Code:
FILE* File =fopen("TEST.txt","a+");
int zahl;
fscanf(File,"%d",&zahl);

_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mäscht
JLI'ler



Anmeldedatum: 22.05.2003
Beiträge: 150
Wohnort: Bad Hofgastein\Österreich
Medaillen: Keine

BeitragVerfasst am: 14.01.2004, 12:06    Titel: Antworten mit Zitat

Kleiner tippfehler mit dem %
_________________
Motz´z mi net o, i bin ofänga!! AEIOU für immer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
philipp_boeing
JLI'ler


Alter: 34
Anmeldedatum: 26.07.2003
Beiträge: 188

Medaillen: Keine

BeitragVerfasst am: 16.05.2005, 13:54    Titel: Antworten mit Zitat

KI hat Folgendes geschrieben:
WrtitePrivateProfileString - schreiben
Code:
BOOL WritePrivateProfileString(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  LPCTSTR lpString,
  LPCTSTR lpFileName
);

O. ooo Bei dieser Funktion müssen wir ja einen String übergeben.
Warum benutzen wir nicht einfach WritePrivateProfileInt, oder so was?
Tja, komischerweise haben die tollen Microsoft Leute diese Funktion für überflüssig gehalten.
Also müssen wir mit z.B wsprintf die Integervariable in eine Stringvariable umwandeln, damit die Funktion zufrieden ist.


GetPrivateProfileInt - lesen
Code:
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  INT nDefault,
  LPCTSTR lpFileName
);


Diese Funktionen erstellen und lesen aus einer INI-Datei.
Eine INI Datei ist textbasiert und man kann manuell leicht überprüfen was reingeschrieben worden ist, indem man sie mit dem Notepad öffnet.

<EDIT>
Ich seh grad, dass du diese Funktionen nicht so gut gebrauchen kannst.
Es sei denn du liest aus einer INI-Dazei. Wink


Hallo,

ich hab ein Problem mit den Funktionen: Die schreiben bei mir nämlich in den Windows Ordner. Kann man es auch irgendwie so umstellen, dass er in den Ordner der Application schreibt?

EDIT: Gibbet auch ne Funktion die eine bestimmte Zeile wieder Löscht?
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 -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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