Ι/Ο σε αρχείο σε Cpp

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
alexandros13
Δημοσιεύσεις: 1
Εγγραφή: 29 Μάιος 2010 17:48

Ι/Ο σε αρχείο σε Cpp

Δημοσίευση από alexandros13 » 29 Μάιος 2010 17:58

γεια σας έχω γράψει το παρακάτω κομμάτι κώδικα.

Κώδικας: Επιλογή όλων

stream fileg("data.alex", ios::in | ios:: binary);
do
     {
          fileg.seekg(sizeof(form)*key);
          fileg.read((char*)&temp1,sizeof(form));
          if(!fileg)
          &#123;    cout<<"1";system&#40;"pause"&#41;;
               fileg.close&#40;&#41;;
               fstream fileg&#40;"data.alex",ios&#58;&#58;out | ios&#58;&#58;binary&#41;;
               fileg.seekg&#40;sizeof&#40;form&#41;*key&#41;;
               fileg.write&#40;&#40;char*&#41;&temp,sizeof&#40;form&#41;&#41;;
               break;
               &#125;
          else
          &#123;    cout<<"2";system&#40;"pause"&#41;;
               if &#40;temp1.av==0&#41;
               &#123;
                  fileg.close&#40;&#41;;
                  fstream fileg&#40;"data.alex",ios&#58;&#58;out | ios&#58;&#58;binary&#41;;
                  fileg.seekg&#40;sizeof&#40;form&#41;*key&#41;;
                  fileg.write&#40;&#40;char*&#41;&temp,sizeof&#40;form&#41;&#41;;
                  break;
                  &#125;
               else
                   key++;
              &#125;
     &#125;while&#40;flag==0&#41;;
     fileg.close&#40;&#41;;
το πρόβλημά μου είναι ότι σε κάθε νέα εγγραφή μπλοκ κώδικα χάνετε η παλιά εγγραφή που έχω περάσει στο αρχείο.πως γίνετε να μην χάνετε; έχω χρησιμοποιήσει κάτι λάθος ή θέλω κάποια άλλη εντολή; thx :oops:

*έχω χρησιμοποιήσει και ios::app τότε ναι μεν δεν χάνω την προηγούμενη εγγραφή αλλά εξετάζω το αρχείο σειριακά κάτι το οποίο δεν μπορώ να το κάνω, γιατί κάθε προσθήκη γίνετε στο τέλος του αρχείου.

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

Ι/Ο σε αρχείο σε Cpp

Δημοσίευση από lakritidis » 01 Ιουν 2010 22:38

Κώδικας: Επιλογή όλων

fstream fileg
fileg.open &#40;"data.alex", fstream&#58;&#58;in | fstream&#58;&#58;out | fstream&#58;&#58;app&#41;;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες