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

[c++] Wpisywanie do tablic strukturalnych char odczytanych wartości z pliku

Ostatnio zmodyfikowano 2015-01-30 18:21
Autor Wiadomość
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.
C/C++
#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
P-125675
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
P-125678
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.
P-125681
Nitr0Skay
» 2015-01-28 22:23:28
Może to ?
http://cpp0x.pl/dokumentacja/standard-C/strcpy/430
P-125699
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.
P-125796
« 1 »
  Strona 1 z 1