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

Problem z zapisem do Pliku

Ostatnio zmodyfikowano 2008-11-21 14:35
Autor Wiadomość
ruter
Temat założony przez niniejszego użytkownika
Problem z zapisem do Pliku
» 2008-11-17 11:05:37
Rzeczywiście mam problemy z zapisem jakiegoś tekstu np. (Jola lojalna jola..) jak jest napisane w kursie "Strumień działa analogicznie do std::cin>>, co w konsekwencji oznacza, że za pomocą tej funkcji nie odczytamy żadnej informacji o białych znakach (tj. enter, tabulacja, spacja itp)." To racja nie zapisuje ani nie oczytuje tekstu ze spacjami... co mam w takim razie na to poradzic? kiedy chce zapisac dany tekst to program wariuje...
P-2555
DejaVu
» 2008-11-17 12:51:38
operator >> wczytuje dane, natomiast operator << zapisuje dane. Temat mówi o zapisie danych, więc zapis powinien wyglądać tak:
C/C++
fstream plik( "dane.txt", std::ios::out );
plik << "jakiś tekst" << std::endl;
plik.clode();
P-2556
ruter
Temat założony przez niniejszego użytkownika
» 2008-11-17 13:10:33
Tak ale ja nie chce go wpisywać w samym kodzie tylko już w konsoli i chce aby to zapamietal. Mniej wiecej wyglada i działa to tak. Natomiast bez spacji.

Funkcja wpisywania i zapisywania wygląda tak:
C/C++
case 1:
{
    clrscr();
    cout << "Podaj tekst: ";
    fstream plik;
    plik.open( "Notatki.txt", std::ios::out );
    if( plik.good() == true )
    {
        cin >> notka;
        plik.write( & notka[ 0 ], notka.length() );
    }
}
break;
Ale tak jak wpominalem dziala lecz bez spacji...

Edit/
Domyślam się że chodzi o to?!
C/C++
clrscr();
fstream plik;
( "Notatki.txt", std::ios::out );
cout << "Podaj tekst: ";
cin >> notka;
plik << notka << std::endl;
plik.close();
getch();
P-2557
DejaVu
» 2008-11-17 15:05:17
Pobiera wyraz:
cin >> notka;
Pobiera wiersz:
getline( cin, notka );

Analogicznie na pliku:

Pobiera wyraz:
plik >> notka;
Pobiera wiersz:
getline( plik, notka );
P-2560
ruter
Temat założony przez niniejszego użytkownika
» 2008-11-17 19:44:19
Ok. A jeśli chodzi o sam zapis łącznie z białymi znakami? chyba mnie to przerasta jednak :P
P-2565
DejaVu
» 2008-11-17 22:44:03
Wypisanie zawartości zmiennej na ekran:
cout << napis << endl;

Zapisanie zawartości zmiennej do pliku:
plik << napis << endl;
P-2572
ruter
Temat założony przez niniejszego użytkownika
» 2008-11-20 16:26:59
Odczyt działa znakomicie i samo kodowanie także... Ale czemu na końcu nie zapisuje mi wyniku do drugiego pliku szyfr.txt??

C/C++
int main()
{
    string s;
    fstream plik;
    plik.open( "Notatki.txt", ios::in ); // Odczyt zwyklego tekstu
    if( plik.good() )
    {
        while( !plik.eof() )
        {
            getline( plik, s );
            cout << s << endl;
        }
        plik.close();
    } else cout << "Error! Nie udalo otworzyc sie pliku!" << endl;
   
    for( int i = 0; i < s.size(); i++ ) //Szyfrowanie tekstu
    {
       
        if( s[ i ] >= 'a' && s[ i ] <= 'm' )
        {
            int n = s[ i ];
            char c = n + 13;
            std::cout << c;
        }
        else if( s[ i ] >= 'A' && s[ i ] <= 'M' ) //od N do Z
        {
            int n = s[ i ];
            char c = n + 13;
            std::cout << c;
        }
        else if( s[ i ] >= 'n' && s[ i ] <= 'z' )
        {
            int n = s[ i ];
            char c = n - 13;
            std::cout << c;
        }
       
        else if( s[ i ] >= 'N' && s[ i ] <= 'Z' )
        {
            int n = s[ i ];
            char c = n - 13;
            std::cout << c;
        }
        else
             cin >> s[ i ];
       
        plik.open( "szyfr.txt", std::ios::out ); //Zapis tekstu zaszyfrowanego
        plik << s[ i ] << endl;
        plik.close();
    }
    std::cout << "\n";
    system( "pause" );
}

btw. Jak mam usunac albo ukryc kod programu aby byl niedostepny po wyslaniu go komus?
P-2580
DejaVu
» 2008-11-20 16:33:44
Jeśli używasz tego samego fstream'a do otwierania różnych plików, musisz przed jego otwarciem wywołać linijkę:
plik.flush();
Nie jestem pewien czy dobrą nazwę funkcji napisałem Ci powyżej, ale jeśli nie będzie ona działała to sprawdzę w dokumentacji jakej powinieneś użyć. Wydaje mi się jednak, że powinna ona zadziałać.
P-2581
« 1 » 2
  Strona 1 z 2 Następna strona