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
|
Verfasst am: 07.01.2004, 12:15 Titel: Integer aus Datei auslesen |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.01.2004, 12:24 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 07.01.2004, 12:27 Titel: |
|
|
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  _________________ 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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 07.01.2004, 14:56 Titel: |
|
|
Mit Streams(Textmodus):
dein_ifstream >> dein_double;
Kurz und schmerzlos. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 07.01.2004, 18:29 Titel: |
|
|
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.  |
|
Nach oben |
|
 |
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 10.01.2004, 18:13 Titel: |
|
|
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
Warum nicht gleich fscanf(fp,"%d",&MeinInt); ? |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 10.01.2004, 21:46 Titel: |
|
|
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.  _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 10.01.2004, 22:27 Titel: |
|
|
@KI: Hm, dafür war es interessant zu hören wie man ini dateien liest danke kann noch hilfreich werden  |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 11.01.2004, 12:02 Titel: |
|
|
@TheMillenium: Hab ich schon geschrieben
@Mäscht: Aus was für einer Datei willst du denn die Zahl auslesen? Wie du siehst gibts da ja viele Möglichkeiten  _________________ 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 |
|
 |
Mäscht JLI'ler
Anmeldedatum: 22.05.2003 Beiträge: 150 Wohnort: Bad Hofgastein\Österreich Medaillen: Keine
|
Verfasst am: 12.01.2004, 08:27 Titel: |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 12.01.2004, 08:34 Titel: |
|
|
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 |
|
 |
Mäscht JLI'ler
Anmeldedatum: 22.05.2003 Beiträge: 150 Wohnort: Bad Hofgastein\Österreich Medaillen: Keine
|
Verfasst am: 13.01.2004, 12:13 Titel: |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 13.01.2004, 13:45 Titel: |
|
|
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 |
|
 |
Mäscht JLI'ler
Anmeldedatum: 22.05.2003 Beiträge: 150 Wohnort: Bad Hofgastein\Österreich Medaillen: Keine
|
Verfasst am: 14.01.2004, 12:06 Titel: |
|
|
Kleiner tippfehler mit dem % _________________ Motz´z mi net o, i bin ofänga!! AEIOU für immer |
|
Nach oben |
|
 |
philipp_boeing JLI'ler

Alter: 34 Anmeldedatum: 26.07.2003 Beiträge: 188
Medaillen: Keine
|
Verfasst am: 16.05.2005, 13:54 Titel: |
|
|
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.  |
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 |
|
 |
|