ďťż

Ładny brzuch

Mam prosty program, który ma za zadanie wczytać z pliku 2 kolumny liczb i po koleji je wyświetlić.
Przykładowe liczby:
11 34
42 67
13 80
94 90
int main() { int a[4], b[4]; char smieci; ifstream wczyt("plik.txt"); for(int i = 0; i < 4; i++) { wczyt >> a[i]; wczyt >> smieci; // wczytanie spacji dzielącej liczby wczyt >> b[i]; wczyt >> smieci; // wczytanie znaku '\n' } wczyt.close(); for(int i = 0; i < 4; i++) { cout << a[i] << "\n"; } getch(); return 0; }
Ale już podczas drukowania 1 kolumny otrzymuje zamiast liczb 11 42 13 94
tylko końcówki (tylko 11 przechodzi w całości) 11 2 3 4 :huh:
Nie wiem dlaczego tylko druga cyfra przechodzi.

PS. Szu - ka - łem, ale nie znalazłem nigdzie KLAROWNEJ odpowiedzi



Niepotrzebnie wczytujesz spacje. Strumień odczyta liczbę "4", odczyta " 4", odczyta " 4 5" zawsze jako 4 i zatrzyma się po tej liczbie. I to samo z końcem linii, sam sobie to obsłuży. Powinieneś wczytywać tylko liczby dbając o to, żeby się zmieściły w programie i było ich tyle ile w pliku.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •