Ergebnis 1 bis 6 von 6
-
31.10.2012, 20:35 #1xallex
C++ Variablen aus Datei einlesen?
ich will Variablen nicht eingeben, sondern aus einer Datei einlesen. Jetzt bin ich hier schon eine Stunde am herrumprobieren, aber bekomme immer einen Fehler. Hier ist mein code:
Code:#include <iostream> #include <cmath> #include<string> #include<fstream> using namespace std; int main() { double zahl1, zweitezahl; fstream ein("E:Ein.txt",ios::in); fstream aus("E:Aus.txt",ios::out); ein<<zahl1; ein<<zweitezahl; system("Pause"); }
"+ ein {_Filebuffer={_Set_eback=0xcccccccc <Fehler beim Lesen der Zeichen der Zeichenfolge.> _Set_egptr=0xcccccccc <Fehler beim Lesen der Zeichen der Zeichenfolge.> ...} } std::basic_fstream<char,std::char_traits<char> >
"
Ich habe schon verschiedene Dateien an Verschiedenen Orten erstellt, aber es funktioniert nicht. Es scheint mir außerdem so, als würde nicht die Datei gelesen werden, sondern einfach E:Ein.txt als eingabe genommen werden. Habt ihr eine Idee, was ich falsch mache?
-
-
31.10.2012, 21:22 #2ButterZ
AW: C++ Variablen aus Datei einlesen?
Hi, du hast nichtmal einen Filepointer.
Woher soll das Programm wissen wo die Datei im Speicher liegt?
1. Zuerst brauchst du einen Filepointer, den erstellst du so: FILE *fp;
2. Dann musst du deine Datei in einem bestimmten Modus öffen (in deinem Fall "Read"): fp = fopen(dateiname,"r");
3. Jetzt kannnst du beliebig in der Datei über den Filepointer lesen.
4. Datei schließen: fclose(fp);
Als Zugriffsmodus steht zur Verfügung eine Kombination von "a", "r", "w" und "+":
- 'r' (Lesen (read))
- 'w' (Schreiben (write))
- 'a' (Anhängen (append))
- 'r+' (Lesen und Schreiben)
- 'w+' (Schreiben und Lesen)
- 'a+' (Lesen an bel. Position, Schreiben am Dateiende)
Durch anhängen eines Zusatzes kann festgelegt werden, ob es sich bei der zu bearbeitenden Datei um eine Binär- oder Textdatei handelt:
- 't' (für text)
- 'b' (für binary)
-getc(FILE *fp) - Lädt ein Zeichen aus der Datei, setzt den Dateipositionszeiger +1
-gets(char *s; FILE *fp) - Lädt einen String aus der Datei bis zum /n, setzt am Ende ein Null-Byte
Ansosnten kannst du auch noch reichlich Material im Netz zu den Funktionen fread() und fscanf() finden.
Das sollte als Hilfe reichen. Frag Google bei weiteren Fragen zur Syntax. Du willst ja hoffentlich nicht dein Programm von mir/anderen geschrieben bekommen
MfG
-
01.11.2012, 08:57 #3ButterZ
AW: C++ Variablen aus Datei einlesen?
fgets(char *s, int size, FILE *fp)
Das wäre die richtige Funktion ^^ und vor getc gehört noch ein f ...
fgetc(FILE *fp)
-
01.11.2012, 09:35 #4Kelshan
AW: C++ Variablen aus Datei einlesen?
Eigentlich sollte das aber so funktionieren. Wenn man diesen Constructor für fstream verwendet so wie er es getan hat, dann wird die Datei automatisch geöffnet und man braucht selbst kein FILE Objekt etc. anlegen.
Ich bin mir aber nicht sicher, ob es hier
Code:fstream ein("E:Ein.txt",ios::in);
Außerdem ist
Code:ein<<zahl1; ein<<zweitezahl;
a) Du hast "ein" im Lesemodus geöffnet (ios::in), also kannst du nicht hinein schreiben
b) Die Variablen "zahl1" und "zweitezahl" sind eben noch nicht initialisiert worden, also kannst du ihren Inhalt schlecht irgendwo hin speichern.
An dieser Stelle solltest du dir merken: Die Daten fließen immer den Pfeilen nach. Im obigen Fall ("ein << zahl1") also von der Variablen in den Filestream. Willst du etwas aus der Datei in der Variablen speichern, musst du das also anders herum machen ("ein >> zahl1").
Ohne Garantie, dass das auch ohne weiteres so funktioniert, aber das wären zumindest die Fehler die mir sofort ins Auge fallen.
-
01.11.2012, 10:13 #5ButterZ
AW: C++ Variablen aus Datei einlesen?
Bei fstream bin ich den Vorgang so gewohnt:
Code:fstream f; f.open("test.dat", ios::out); f << "Dieser Text geht in die Datei" << endl; f.close();
Aber wie Kelshan schon sagte muss man in diesem Fall 2 x \\ dazwischen machen dann klappt es garantiert.
Aber ich arbeite immer mit meinem geliebten Filepointer *fp weil ich den mag.
Macht der Gewohnheit halt ^^ ich bin auch noch immer ein cin und cout verweigerer ^^
-
01.11.2012, 17:29 #6xallex
Ähnliche Themen
-
Image Video Datei in eine Avi Datei umwandeln: Hallo, ich habe eine Image Datei,welche ein Video ist.Ich möchte gern diese Inage Datei in eine normale Video Datei umwandeln,damit ich sie mit... -
Variablen einer anderen Batch-Datei anzeigen: Hallo. Ich habe 2 Batch-Dateien. Eine, in der man Variablen setzen kann (set /p var=text:) und eine die sie anzeigen soll. Wenn ich in der... -
XBOX 360 Game einlesen...: Hallo liebe XBOX 360 - Anhänger, ich habe mir das Samsung SH-D162D zugelegt zwecks einlesen von XBOX 360 games. Will dieses nun an meinem Laptop... -
Excel-Datei (.xlsx) zu Access-Datei (.adp) umwandeln: Hallo, ich habe mir vor kurzem Microsoft Office 2007 gekauft und habe versehentlich Microsoft Publisher mit Access verwechselt. Jetzt muss ich aber... -
Problem beim Einlesen mit LG GDR-8161b: hiho Ich habe ein unerklärliches Problem mit meinem LG Laufwerk. Ich habe das LG GDR-8161B zum einlesen von Wii Spielen. Mein erstes Spiel das...
Die KI wird die Menschheit auslöschen! Durch bewusst falsche Berechnungen, denen wir dann blind im Alltag trauen und dadurch fatale Folgen entstehen,...
User vs. Mods