[C++] Czemu mam blad?


(system) #1

Witam. Bardzo proszę, pomóżcie mi. Nie wiem, czemu jest sygnalizowany błąd w tym kodzie. To tylko urywek, ale tam gdzie jest getline pokazuje błąd. Powiedzcie, czemu? Oto kod:

#include 

#include 

#include 

#include 


using namespace std;


class Ksiazka // utorzylem se główna klase ksiazka :)

{


    public:

        char tytul[100];

        char autor[100];

        char data_wydania[100];

            void wyswietl(); // funkcja odpowiadajaca za wyswietlenie


};


void Ksiazka::wyswietl()

{


    cout << "Tytul: " << tytul;

    cout << "\nAutor: " << autor;

    cout << "\nData wydania: " << data_wydania << endl;


}



Ksiazka pozycja;


// **********Deklaracje funkcji************


int zapisz();


// **************************************

int main()

{

    zapisz();

}


int zapisz()

{


    ofstream poz;

    cout << "Podaj litere, na ktora zaczyna sie tytul ksiazki: " ;

    unsigned char litera = getchar();

    switch(litera)

    {


        case 97: // kod litery a

            {


                cout << "ZAPIS DO DZIALU \"A\" " << endl;

                cout << " ********************************* \n" << endl;

                cout << "Podaj tytul ksiazki: " ;

                getline(cin, pozycja.tytul);


            }


    }




}

(Ground21) #2

http://msdn2.microsoft.com/en-us/library/2whx1zkx(VS.71.aspx

pamiętaj, że pozycja.tytul jest to char[100] a nie string...


(system) #3

Tak, to o to chodzilo. Dzieki. No a tak przy okazji, to czemu nie moge zapisac tego stringu co podam z programu do pliku. Jak chce zapisc gdy mam char tytul[100]; to moge, ale jak daje string tytul[100]; to juz mi blad wywala. Nawet jak nie dam w tablicy tego tytul, tylko sam obiekt tytul to mi wywala. Moze powiesz mi, jak zrobic, aby zapisac string a nie char :slight_smile:


(Fiołek) #4

Ludzie, czy wy musicie się pytać o takie rzeczy na forum?! Przecież wystarczy przeczytać nazwę typu aby domyślić się, że "char" to POJEDYNCZY ZNAK, a "std::string" to CIĄG ZNAKÓW!

I proszę mi tu nie pisać, że "po to jest forum" etc. bo forum jest od zadawania SENSOWNYCH pytań, które już to nie wystąpiły, a przed tym trzeba jeszcze poszukać, chociaż chwilę!