Seguendo le vostre indicazioni ho creato questo codice (per prova):
codice:
#include <iostream>
#include <fstream>
using namespace std;

int main() {
int x;
int y;
fstream filei;
fstream fileo;

filei.open("in.txt");
if(!filei) {
cout << "Errore nella lettura del file provaf.txt";
return 1;
}

filei >> x >> y;
filei.close();

cout << x << " " << y << endl;

cout << "Scrivi i nuovi valori separati da spazio\n";
cin >> x >> y;

fileo.open("in.txt");
if(!fileo) {
cout << "Errore nella lettura del file provaf.txt";
return 1;
}

fileo << x << y;
fileo.close();

filei.open("in.txt");
if(!filei) {
cout << "Errore nella lettura del file provaf.txt";
return 1;
}

filei >> x >> y;
filei.close();

cout << x << " " << y << endl;


return 0;
}
Nel file ho messo come contenuto iniziale 5 2.
ecco un esempio di esecuzione:
ale@ALE002:~/Desktop/Ale/C++/prova files$ ./provafiles
5 2
Scrivi i nuovi valori separati da spazio
9 3
932 3
e nel file c'è scritto: 932

perchè?

all'esecuzione successiva:
ale@ALE002:~/Desktop/Ale/C++/prova files$ ./provafiles
932 -1075450796
Scrivi i nuovi valori separati da spazio
9 12
912 12
e nel file: 912

e così via con risultati sempre più strani.

perchè???

grazie
popoxxx