Praca z plikami out/in

0

Może i głupie pytanie, ale skoro
in = cin
out = cout

to czemu przy pracy z plikami trzeba użyc ios::out a nie ios::in żeby wpisać tekst do pliku?

I czemu taki kod działa

  plik.open("plik.txt", ios::out);
            string zmienna;
            cin >> zmienna;
            plik << zmienna;
  plik.close();

a taki już nie?

   plik.open("plik.txt", ios::out);
        string zmienna;
        cin >> zmienna;
        getline(plik, zmienna);
        
    plik.close();
0

Z czego wnioskujesz "działa" "nie działa" ?

Operator << ma inne zachowanie od getline, pierwszy bierze słowo, drugi linię.
To jakoś trudne?

0

@AnyKtokolwiek: Czyli getline służy tylko do odczytu danych?

0

Tak

0

Zauważ, że w pierwszym przykładzie zapisujesz do pliku, a w drugim odczytujesz z pliku. Zważywszy na to, że otwierasz plik tylko do zapisu (ios::out), nie możesz z niego czytać.

0

@Descendant: Proszę tutaj masz dokumentację dla getline z przykładem.

0
ofstream plik("plik.txt");
string zmienna;
cin>>zmienna; // dla in>>
plik<<zmienna; // dla out<<
plik.close();

1 użytkowników online, w tym zalogowanych: 0, gości: 1