Daten sicher Schreiben bzw lesen

Gast #2304011
Lesenswert?
• ▲
▼
Hallo!

in meinem  Programm habe ich zwei Methoden; eine save() soll die Daten 
in einer Datei schreiben  und  die andere laden() Kann die Daten einfach 
wieder lesen. meine Frage ist  wie kann ich nun  die beiden  Methoden 
ändern, damit ich sicher davon  ausgehe,dass die Daten richtig 
geschrieben bzw geladen sind.

Hier sind Abschitt von meinem code:
data.h
1
class DATA{
2

3
 private:
4
 
5
   int dmin,fmas;
6
   int dmax;
7
   int Dmun;
8
  
9
public:
10

11
  DATA(int a,int b, int c, int d,int e);
12
  void setvalue();     
13
   void save (); 
14
   void load ();
Data.cpp
1
 
2

3
void DATA::save(){
4

5
  std::string fname;
6
  cout<<"filname eingeben"<<endl;
7
  cin >> fname;
8

9
  ofstream outf;
10
  outf.open( fname.data()); 
11
  if( !out ) {
12
    cout << "Datei " << fname << "konnte nicht geöffnet werden" << endl;}
13

14
  out <<dmin;
15
   out<<dmax;
16
   out <<fmas;
17
    out <<dmun;
18

19
  outf.close();
20

21
}
22
  
23
void DATA::load(){
24
 
25
   std::string lf;                    
26
  cout << "Dateiname  eingeben: " << endl;
27
  cin >> lf;  
28
  ifstream inf;
29
   inf.open(lf.data() );              
30
  if( !inf ) {
31
    cout << "Datei " << lf << " konnte nicht geöffnet werden" << endl;
32
  }
33

34
    inf >> dmin;
35
    inf >>dmax;
36
    inf >> fmas;
37
    inf >>dmun;
38

39
    inf.close(); 
40
   }

Danke schönmal im Voraus

Gruß
Ching
Gast #2305006
Lesenswert?
• ▲
▼
ich habe mein  Programm geändert und möchte,dass es im Schleife bleibt 
wenn es die Daten nicht richtig geschreiben bzw geladen sind oder wenn 
ich falche Dateiname eingebe, daher habe ich folgendes versucht:
1
void DATA::save(){ 
2
ofstream  outf; 
3

4
 do{ 
5
std::string fname; 
6
cout<<"filname eingeben"<<endl; 
7
cin >> fname; 
8

9
ofstream  outf (fname.c_str()); 
10
  if( !outf ) { 
11
 cout << "Datei " << fname << "konnte nicht geöffnet werden" << endl;} 
12

13
  outf << dmin;   
14
  outf << dmax; 
15
   outf << fmas; 
16
   outf << dmun; 
17
  
18
 if (!outf)  cout<< "Fehler beim Schreiben!"; 
19
  
20
      }while(!outf); 
21
}
1
void DATA::load(){ 
2
      do{ 
3
ifstream  inf;   
4
std::string lf; 
5
  cout << "Dateiname  eingeben: " << endl; 
6

7
  cin >> lf; 
8
  ifstream  inf(lf.c_str()); 
9
   if( !inf ) { 
10
   cout << "Datei " << lf << " konnte nicht geöffnet werden" << endl; 
11
 } 
12
     inf >> dmin; 
13
      inf >> dmax; 
14
    inf >> fmas; 
15
    inf >> dmun; 
16
  
17
   if (!inf) throw std::runtime_error("Lesefehler!");  
18
   cout <<" richtige Dateiname eigeben"; 
19
      
20
}while(!inf); 
21
     

Kann mir da jemand weiter helfen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren