shang84
07-11-2005, 12:13
Ciao a tutti,
vorrei fare un ciclo in cui di volta in volta riderizionare l'output su file dopo averlo ogni volta aperto in modalità append.
Al termine di ciascuna iterazione del ciclo il file sarà chiuso.
Al termine del ciclo invece l'output dovrà essere nuovamente su monitor.
Ho provato con dup2 ma non mi riesce bene. Infatti una volta "duppato" l'output su monitor mi rimane sempre su file.
Cosa potrei fare?
Grazie
Ecco parte del codice:
for(int i=0;i<10;i++){
//cout << "Questo lo displaya una sola volta: " << i << endl;
int fd;
fd=open("prova.txt",O_WRONLY|O_APPEND|O_CREAT);
dup2(fd,1);
cout << "questo va su file " << endl;
chmod(argv[1],S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
close(fd);
close(1);
//we have wrote the results
delete spectras[i];
}
cout << "questo va su file ma nn andrebbe!!!" << endl;
vorrei fare un ciclo in cui di volta in volta riderizionare l'output su file dopo averlo ogni volta aperto in modalità append.
Al termine di ciascuna iterazione del ciclo il file sarà chiuso.
Al termine del ciclo invece l'output dovrà essere nuovamente su monitor.
Ho provato con dup2 ma non mi riesce bene. Infatti una volta "duppato" l'output su monitor mi rimane sempre su file.
Cosa potrei fare?
Grazie
Ecco parte del codice:
for(int i=0;i<10;i++){
//cout << "Questo lo displaya una sola volta: " << i << endl;
int fd;
fd=open("prova.txt",O_WRONLY|O_APPEND|O_CREAT);
dup2(fd,1);
cout << "questo va su file " << endl;
chmod(argv[1],S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
close(fd);
close(1);
//we have wrote the results
delete spectras[i];
}
cout << "questo va su file ma nn andrebbe!!!" << endl;