Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wczytywanie danych z pliku do obiektu

Ostatnio zmodyfikowano 2014-04-30 23:13
Autor Wiadomość
CodeMeister
» 2014-04-30 19:56:33
Jak wprowadzam gdy tylko pytam..? :)
P-108990
mateuszq
Temat założony przez niniejszego użytkownika
» 2014-04-30 20:15:19
@pefkos: sposób na zapisywanie danych do elementów obiektu w sposób jaki pokazałeś tyle, że zapisywanie linia po lini (jedna linia do jednego obiektu, druga do drugiego itd) chodzi o to, że nie wiem jak zrobić przeskok do następnej lini.

@MrPoxipol:
Sprawdzałem juz, wiem że mogę zrobić pętle:
C/C++
while( getline( plik, dane ) {
    ...
}

no ale wtedy jest pobierany cały wiersz i musiałbym go rozdzielać na poszczególne elementy a to chyba dość kłopotliwe, męcze sie już z tym od paru dni i nie mam pojęcia jak to zrobić
P-108992
MrPoxipol
» 2014-04-30 21:23:45
C/C++
ifstream file( "data.txt" );

for( int i = 0; i < 3; ++i )
{
    string foo;
    int bar;
   
    file >> foo >> bar;
    cout << foo << " " << bar << endl;
}
Plik data.txt (i identyczny output)
ABC 10
DEFG 4
HIJKL 21
A swoją drogą przy użyciu getline też się da (Wystarczy rozdzielić co spację - tak jak to robi operator >>).
P-108997
mateuszq
Temat założony przez niniejszego użytkownika
» 2014-04-30 22:19:38
wszystko działa poprawnie tylko za żadne skarby nie rozumiem jak to się dzieje że przeskakuje do nowej linii, w jaki sposób to działa?
P-109004
MrPoxipol
» 2014-04-30 22:50:45
Ponieważ dane są wczytywane aż do wystąpienia białego znaku.
ABC 2
DDD 4
Pobiera ABC. Stop - ' '. Pobiera 2. Stop '\n'.
Pobiera DDD..
P-109005
mateuszq
Temat założony przez niniejszego użytkownika
» 2014-04-30 22:57:33
aa juz rozumiem. A mógłbys mi jeszcze pokazać sposób z getline? Wkońcu getline pobiera całą linie danych więc nie bardzo rozumiem w jakis sposób to rozdzielić
P-109006
MrPoxipol
» 2014-04-30 23:07:26
http://www.cplusplus.com​/reference/string/string​/getline/
istream & getline( istream & is, string & str, char delim );

Jako delim podajesz znak, który rozdziela obiekt istream (także fstream). Standardowo getline() wczytuje do napotkania '\n'.
P-109007
mateuszq
Temat założony przez niniejszego użytkownika
» 2014-04-30 23:13:48
dzięki wielkie, bardzo mi pomogłeś.
P-109009
1 « 2 »
Poprzednia strona Strona 2 z 2