Hej,
witam wszystkich.
Mam problem, potrzebuje wczytać troche danych ze standardowego wejscia, dane sa to kolejne cyfry w formacie jak ponizej
20
2
3
4
5
6
7
8
Problem jest troche skomplikowany:
Program to interpreter pewnego jezyka, sęk polega na tym, ze że nie moge wczytać ich na raz tylko za każdym razem jak wywoływana jest funkcja czytająca powinna zostać wczytana kolejna wartość.
Przykladowa instrukcja do zinterpretowania:
while ((x = readInt()) != 0) {
printInt(x);
}
W tym celu napisalem prosta funkcje ktora m.in wykonuje:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
s = in.readLine();
} catch (IOException ex) {
Logger.getLogger(Interpreter.class.getName()).log(Level.SEVERE, null, ex);
}
jezeli uruchamiam program w ten sposób
cat test.input | ./interpreter testowy.cc
Niestety po wczytaniu pierwszej wartości: 20 przy nastepnym wywolaniu in.readLine() zwraca null.
Zupełnie nie rozumiem dlaczego...
Jezeli uruchomie go po przez po prostu ./interpreter testowy.cc i wpisuje liczby zakonczając Enterem wszystko dziala
Probowalem/googlałem ale nie znalazlem odpowiedzi dlaczego tak jest :(
Bardzo dziekuje za wszelkie informacje i pomoc!