PDA

Visualizza la versione completa : [C++] Stampare file linea per linea


signor_miyagi
12-01-2014, 16:33
Ciao ragazzi e buona domenica, come da titolo mi serve un mano per un semplice algoritmo che legga un file di testo (nel mio caso "rigaXriga.txt" contenente tre righe di testo) e le stampi a video una per volta, aspettando che l'utente prema Invio dopo ogni linea.

il mio codice:



#include <iostream>
#include <string>
#include <fstream>
using namespace std;


int main() {

ifstream in ("rigaXriga.txt");
string s;

while(!in.eof()) {
getline(in, s);
cout<<s<<endl;
}

return 0;
}

con questo riesco a stampare correttamente il file, ma ovviamente tutto insieme...
avevo pensato di inserire un system("pause") alla fine del while, ma una scelta stilisticamente discutibile, oltre al fatto che non funziona :confused:

qualcuno mi sa dare una mano, ho idea che sia pi facile di quello che sembra, forse c' proprio una funzione specifica che non conosco?

Scara95
12-01-2014, 16:53
#include <iostream>
#include <string>
#include <fstream>
using namespace std;


int main() {

ifstream in ("rigaXriga.txt");
string s;
char c;

while(!in.eof()) {
getline(in, s);
cout<<s<<endl;
cout<<"Premi invio per continuare...";
do {
cin>>c;
} while(c!='\n');
}

return 0;
}

signor_miyagi
12-01-2014, 17:03
grazie per aver risposto, ma purtroppo il programma mi va in loop infinito dopo aver stampato la prima frase e "Premi invio per continuare...", qualsiasi cosa io prema su tastiera...

Scara95
12-01-2014, 17:28
grazie per aver risposto, ma purtroppo il programma mi va in loop infinito dopo aver stampato la prima frase e "Premi invio per continuare...", qualsiasi cosa io prema su tastiera...

Scusa
#include <iostream>
#include <string>
#include <fstream>
using namespace std;


int main() {

ifstream in ("rigaXriga.txt");
string s;
char c;

while(!in.eof()) {
getline(in, s);
cout<<s<<endl;
cout<<"Premi invio per continuare...";
do {
c = cin.get();
} while(c!='\n');
}

return 0;
}

signor_miyagi
12-01-2014, 18:15
funziona alla grande, grazie ;)

Loading