[c++] Wpisywanie do tablic strukturalnych char odczytanych wartości z pliku
Ostatnio zmodyfikowano 2015-01-30 18:21
Ermor Temat założony przez niniejszego użytkownika |
[c++] Wpisywanie do tablic strukturalnych char odczytanych wartości z pliku » 2015-01-28 16:17:48 Witam, całkiem niedawno zacząłem przygodę z programowaniem. Natknąłem się jednakże na pewien problem, który nie wiem jak rozwiązać. Chciałbym, aby odczytywane słowa/wartości z pliku zapisywały się do tablicy strukturalnej char'ów, podjąłem pewne próby, program się nawet kompiluje ale, gdy próbuje wywołać funkcję niestety wywala błąd. Wiem, że można to zrobić za pomocą string, ale moje pytanie jest takie czy jest jakiś sposób na wykonanie tego na char. #include <fstream> #include <iostream> using namespace std; struct sklep { int numer; char nazwa[ 50 ]; char typ[ 50 ]; char opakowanie[ 50 ]; double waga; int magazyn; }; sklep * wczytanie( sklep *& tab, int & rozmiar ) { int i = 0; cout << "wczytywanie danych z pliku" << endl << endl; ifstream plik( "D:/danedosklep.txt" ); if( plik ) { while( !plik.eof() ) { plik.getline( tab[ i ].nazwa, 50 );; plik.getline( tab[ i ].typ, 50 ); plik.getline( tab[ i ].opakowanie, 50 ); plik >> tab[ i ].waga; plik >> tab[ i ].magazyn; i++; } } plik.close(); } sklep * wyswietlanie( sklep * tab, int rozmiar ) { for( int i = 0; i < rozmiar; i++ ) { cout << "Nazwa: " << tab[ i ].nazwa << endl; cout << "Typ: " << tab[ i ].typ << endl; cout << "Opakowanie: " << tab[ i ].opakowanie << endl; cout << "Waga: " << tab[ i ].waga << " kg" << endl; cout << "Ilosc sztuk w magazynie: " << tab[ i ].magazyn << endl << endl; } } int main() { int rozmiar = 0; sklep * tab = new( nothrow ) sklep[ rozmiar ]; wczytanie( tab, rozmiar ); wyswietlanie( tab, rozmiar ); return 0; }
Pozdrawiam |
|
Nitr0Skay |
» 2015-01-28 17:50:23 Operuje Pan na łańcuchach znaków C, zatem zapewne gdzieś tutaj znajdzie Pan odpowiedź: http://cpp0x.pl/dokumentacja/standard-C/Pozostale/236 |
|
Ermor Temat założony przez niniejszego użytkownika |
» 2015-01-28 18:28:06 Dziękuję uprzejmie za odpowiedź. Będę próbował tych sposobów, jednakże po przejrzeniu i kilku próbach niestety nie mogę uzyskać oczekiwanego rezultatu. Miałby Pan może jakiś pomysł ? Być może konkretną operację, na której powinienem się skupić ? Większości podanych tam operacji niestety jeszcze nie poznałem. |
|
Nitr0Skay |
» 2015-01-28 22:23:28 Może to ? http://cpp0x.pl/dokumentacja/standard-C/strcpy/430 |
|
Ermor Temat założony przez niniejszego użytkownika |
» 2015-01-30 18:21:23 Dziękuje za pomoc, problem został rozwiązany przy pomocy get() [w moim wypadku plik.get(...)]. Temat do zamknięcia. |
|
« 1 » |