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

zapis do pliku tekstowego

Ostatnio zmodyfikowano 2017-09-02 11:10
Autor Wiadomość
tomaszek321
Temat założony przez niniejszego użytkownika
zapis do pliku tekstowego
» 2017-09-02 09:23:28
Witam,
Chce zapisac do pliku tekstowego znak po zanku. Mam problem z petlom while(ciagle wczytuje pierszy znak).
C/C++
#include <iostream>
#include <fstream>

int main()
{
    char znak;
    int licznik;
    std::cout << "Podaj tekst:\n";
    while( std::cin >> znak )
    {
       
       
        std::ofstream plik;
        plik.open( "zapis.txt", std::ios::out );
        if( plik.good() )
        while( plik << znak )
        {
            licznik++;
        }
        std::cout << "liczba wprowadzonych znakow: " << licznik;
       
        plik.close();
    }
    return 0;
}
 
P-164533
rav89lodz
» 2017-09-02 09:53:41
Ja napisałem coś takiego

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    char znak;
    int licznik=0;
    cout << "Podaj znak do wpisania:\nZnak \"0\" konczy wpisywanie\n";
    ofstream plik;
    plik.open( "zapis.txt", ios::app);
      do{
        cin>>znak;
        plik<<znak<<endl;
        licznik++;
        }while (znak != '0');
        cout<<"Zapisano znakow: "<<licznik<<endl;
    plik.close();
    plik.clear();

    return 0;
}
P-164534
maly7
» 2017-09-02 11:10:58
plik   <<   znak

Po co dajesz to w kolejnej pętli? Usuń tę drugą.
Niepotrzebnie za każdym razem otwierasz plik. Otwórz go na początku (przed pętlą) a zamknij dopiero po zakończeniu zapisu (za pętlą). I tak samo komunikat "ilość wpisanych znaków" daj za pętli gdy wpisywanie się już zakończy.
P-164536
« 1 »
  Strona 1 z 1