array in eine dat Datei
-
Hallo ich will ein array in eine dat Datei schreiben. Es sollen 4 arrays hintereinander in die dat Datei aber wenn ich eins reinbekomme dann dürften die Anderen ja kein Problem mehr sein? Kann mir da vielleicht jemand helfen?
-
-
Danke!
-
using namespace std;
// Einen Person-Datensatz definieren
struct PERSON
{
char VorName[20];
char NachName[20];
int TelNr;
};// fstream damit die Datei zuerst schreibend und dann lesend geöffnet werden kann.
fstream File("Person.dat", ios::out|ios::binary);
if (File.is_open())
{
// Nur zwei Datensätze schreiben.
// Hier wäre eine Fehlerprüfung angebracht
for (int i = 0; i < 2 ; ++i)
{
PERSON Pers;
cout << "Vorname: ";
cin >> Pers.VorName;
cout << "Nachname: ";
cin >> Pers.NachName;
cout << "TelNr: ";
cin >> Pers.TelNr;// Aktuelle Person in der Datei speichern.
File.write((const char*)&Pers, sizeof(Pers));
}
File.close(); // Datei schließen
}
// Datei zum Lesen öffnen.
File.open("Person.dat", ios::in|ios::binary);
if (File.is_open())
{
PERSON Pers;
while (File.read((char*)&Pers, sizeof(Pers)))
cout << Pers.VorName << " " << Pers.NachName << " " << Pers.TelNr << endl;
}Gibt mir immer den fehler dass File undefenierte class verwendet warum?
Wäre super net wenn jemand rat wissen würde
-
und warum ist tel kein array?
-
Kann es vielleicht sein dass ich irgend eine Bibliothek nicht eingebunden habe??
-
Schade dachte dass ich in diesen Forum Hilfe bekomme. Aber das ist ja leider überhaupt nicht so, wirklich nicht sehr hilfreich hier
-
hast du fstream includiert?
Oliver1980 schrieb:
Schade dachte dass ich in diesen Forum Hilfe bekomme. Aber das ist ja leider überhaupt nicht so, wirklich nicht sehr hilfreich hier
hättest du dir sparen können

-
Oliver1980 schrieb:
Schade dachte dass ich in diesen Forum Hilfe bekomme. Aber das ist ja leider überhaupt nicht so, wirklich nicht sehr hilfreich hier
Wir bitten um Verstandnis - Heute hatten wir leider ein Logistikproblem, weshalb es uns nicht möglich war innerhalb von 3-Minuten zu antworten

Nee. Aber mal im Ernst, denkst du wir warten nur auf deine Posts?Aber jetzt zu dem Code: Dieser ist abgesehen von der fehlenden Main-Funktion sowie der beiden Header <fstream> und <iostream> (compile-technisch) i.O.
Caipi
-
Oliver1980 schrieb:
Schade dachte dass ich in diesen Forum Hilfe bekomme. Aber das ist ja leider überhaupt nicht so, wirklich nicht sehr hilfreich hier
Ich fass es nicht. Merkst du noch was?
Zeig erst mal den vollständigen Code. Sonst können wir nur raten, ob das, was offensichtlich fehlt, wirklich fehlt, oder nur deiner willkürlichen Kürzung zum Opfer gefallen ist. Code-Tags wären auch mal ganz nett. Und was "tel" angeht, das kommt in deinem Code nicht vor. Meinst du TelNr? Das ist kein Array, weil du es als int deklariert hast.
-
Ja habe ich Benutze Visual Studio net und habe win 32 Konsolenanwendung.
War nicht so gemeint nur wenn man ewig auf ne Antwort wartet dann was bekommt was nicht funzt und anschließend gar nichts mehr ist man schon mal
gefrusstet
// test.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//#include "stdafx.h"
#include <iostream>
using namespace std;struct PERSON
{
char VorName[20];
char NachName[20];
int TelNr;
};int main()
{fstream File("Person.dat", ios::out|ios::binary);
if (File.is_open())
{
// Nur zwei Datensätze schreiben.
// Hier wäre eine Fehlerprüfung angebracht
for (int i = 0; i < 2 ; ++i)
{
PERSON Pers;
cout << "Vorname: ";
cin >> Pers.VorName;
cout << "Nachname: ";
cin >> Pers.NachName;
cout << "TelNr: ";
cin >> Pers.TelNr;// Aktuelle Person in der Datei speichern.
File.write((const char*)&Pers, sizeof(Pers));
}
File.close(); // Datei schließen
}return 0;
}
-
miller_m schrieb:
hast du fstream includiert?
-
Danke dachte fstream und iostream wären das selber. Bin absoluter Anfänger in c++. Also tausend dank und sorry für meine Reaktion

-
Und denk bitte auch mal an die Code Tags...
-
zwischen startpost und deiner Klage ist grad mal eine stunde vergangen. Das ist in einem Forum in dem viele Leute arbeiten oder noch ein privat leben haben garnichts! Also hab demnächst bitte etwas geduld und benutz die C/C++ tags welche unterhalb des "
" smileys zu finden sind, wenn du uns code zeigen willst. Das gibt dann voll die Klasse einrückung und voll die krassbunten Farben 
-
Hallo habe jetzt noch ein Problem bei meinem Programm.
Möchte gerne folgendes Array infstream File("Daten.dat", ios::out|ios::binary);speichern:
float hoehenwert [3000] [100];Mit dieser Zeile kann ich den folgenden struct speichern
File.write((const char*)&Pers, sizeof(Pers));struct PERSON { char VorName[20]; char NachName[20]; int TelNr; };Doch hab ich keine Ahnung wie ich das für mein Array umändern kann.

Wäre echt cool wenn mir da jemand helfen könnte und die Sache vielleicht auch ein bisschen erklären könnte so das ich das auch auf andere Strukturen anwenden kann
-
achso wollte auch noch die beiden int variablen
int anzahlx, anzahly;in die Daten.dat schreiben
Muss ich das machen wenn ich das Array in die Datei schreibe, da er sonst das array überschreibt oder kann ich das extra tun, solange die Daten nicht mit close geschlossen sind?
-
Wie wärs mit selbst probieren ?
Kurt
-
Probiere hier schon ne ganze Weile und der schreibt dass Array nicht mit write, bin lamgsam der Meinung dass mit fstream keine Arrays zu speichern sind. Und überhaupt was ist denn das für ne Antwort dieses Forum ist doch dazu da dass man sich untereinander Hilft
-
Oliver1980 schrieb:
Schade dachte dass ich in diesen Forum Hilfe bekomme. Aber das ist ja leider überhaupt nicht so, wirklich nicht sehr hilfreich hier
Glaubst du wirklich dass dass es in diesem Forum jemand gibt der dir helfen muss?
Oliver1980 schrieb:
Und überhaupt was ist denn das für ne Antwort dieses Forum ist doch dazu da dass man sich untereinander Hilft
Na dann hilf mir mal und erkläre was du versucht hast und was dabei nicht funktioniert.
Oliver1980 schrieb:
achso wollte auch noch die beiden int variablen
int anzahlx, anzahly;in die Daten.dat schreiben
Muss ich das machen wenn ich das Array in die Datei schreibe, da er sonst das array überschreibt oder kann ich das extra tun, solange die Daten nicht mit close geschlossen sind?Was funktioniert dabei nicht ? Hast du überhaupt schon irgendwas versucht ? Wär dir die Antwort "Das kann man hintereinander machen." lieber gewesen ?
Zeige etwas code dann wird sich sicher jemand finden der deine Fehler korrigiert. Fertige Lösungen (wenn eine vernünftige Spezifikation vorhanden ist) gibts im Projekte-Forum nach Einwurf kleiner Münzen.
Kurt