λx.x

Francesco Cauteruccio

Come leggere da stdin senza un tappo

Questo post rappresenta una risorsa utile per gli studenti del corso di Algoritmi e Strutture Dati, DEMACS, University of Calabria.

In C++ (avendo #include <string> e using namespace std):

string temp;
//  getline legge fino ad ogni \n
while (getline(cin, temp)) {
    /* questo while gira fino
     * a quando il contenuto da
     * leggere non termina */
     
    // do something...
}

oppure

string temp;
// cin legge fino ad ogni spazio
while (cin >> temp) {
    /* questo while gira fino
     * a quando il contenuto da
     * leggere non termina */
     
    // do something...
}

In Java (avendo import java.util.Scanner):

Scanner s = new Scanner(System.in);
while (s.hasNextLine()) {
    String a = s.nextLine();
	// do something...
}