Sto lavorando ad un programma che dato un file fa scegliere all' utente se leggero o scriverci sopra.. ma parete della write non và, quando eseguo il programma e scelgo di scrivere il programma termina.. qualè il problema?
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char ciao[100];
char ciao1[100];
int i=0;
int main(int argc, char** argv) {
int x=0;
FILE *f;
do{
system("CLS");
cout<<"MENU OPZIONI"<<endl;
cout<<"Premi 1 per fare un operazione di lettura"<<endl;
cout<<"Premi 2 per fare un operazione di scrittura"<<endl;
cout<<"Scelta: ";
cin>>x;
cout<<endl;
if (x==1){
f=fopen("file.txt","r");
if(!fopen){
cout<<"errore";
} else{
do{
i=fread(ciao,1,100,f);
ciao[i]=0;
cout<<ciao;
cout<<endl;
}while(i!=0);
}
}else{
cin.getline(ciao1,101);
f=fopen("file.txt","w");
if(!fopen){
cout<<"errore";
} else{
i=fwrite(ciao1,1,strlen(ciao1),f);
ciao1[i]=0;
cout<<ciao1;
}
}
system("PAUSE");
}while(true);
return 0;
}