• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wczytywanie danych z pliku

Mały hosting, OGROMNE możliwości
0 głosów
562 wizyt
pytanie zadane 15 czerwca 2020 w C i C++ przez Colossus Mądrala (6,850 p.)

Jak wczytać dane z pliku które są oddzielone tabulatorem?

int i = 0;
while (!plik.eof()) {
	getline(plik, tab[i].zmienna1, '\t');
	getline(plik, tab[i].zmienna2, '\t');
	getline(plik, tab[i].zmienna3, '\t');
	i++;
}

Próbowałem tak, lecz nie działa

3 odpowiedzi

+1 głos
odpowiedź 15 czerwca 2020 przez j23 Mędrzec (195,220 p.)

Za mało informacji. Nie działa, czyli co się dzieje? Jak wyglądają dane w pliku?

Jeśli układ danych wygląda tak: <A>\t<B>\t<C>\n, to odczyt może wyglądać tak:

int i = 0;

while (std::getline(plik, tab[i].zmienna1, '\t') && 
       std::getline(plik, tab[i].zmienna2, '\t') && 
       std::getline(plik, tab[i].zmienna3, '\n')) {
    i++;
}

Brakuje tu oczywiście kontroli ilości wczytanych danych do tab, no ale opierałem się na kodzie, który podałeś.

 

0 głosów
odpowiedź 15 czerwca 2020 przez Michałełe Nałogowiec (25,600 p.)
Użyj getline jak wyżej, tylko bez 3 argumentu - on określa kiedy dana linia się kończy. Wczytaj całą linie i pousuwaj tam te taby.
0 głosów
odpowiedź 15 czerwca 2020 przez Dev Ox29A Dyskutant (8,400 p.)

Podobne pytania

0 głosów
1 odpowiedź 755 wizyt
pytanie zadane 30 października 2022 w C i C++ przez DonPatricio Nowicjusz (150 p.)
0 głosów
1 odpowiedź 470 wizyt
pytanie zadane 4 października 2020 w Java przez sobussss Początkujący (350 p.)
0 głosów
1 odpowiedź 863 wizyt

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,258 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...