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

String w <fstream> zapis stringa do pliku jako jednej zmiennej włącznie ze spacjami.

Ostatnio zmodyfikowano 2013-11-28 20:30
Autor Wiadomość
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-11-28 20:02:56
Oto cały kod:
C/C++
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <conio.h>

using namespace std;

int main()
{
    unsigned char znak;
    do {
        cout << "Co chcesz zrobic:\nUtworz - utworz\nOtworz - otworz\nEdytuj - edytuj\n";
        string komenda;
        SetConsoleTitleA( "Notepad" );
        cin >> komenda;
        if( komenda == "utworz" )
        {
            string nazwa = "przyklad.txt";
            cout << "Podaj nazwe pliku do utworzenia (oraz opcjonalnie sciezke gdzie ma sie on znajdowac)\n";
            cin >> nazwa;
            ofstream plik( nazwa.c_str() );
            {
                fstream plik;
                plik.open( nazwa.c_str(), std::ios::in | std::ios::out );
                if( plik.good() == true )
                {
                    std::cout << "Plik zostal pomyslnie utworzony!" << std::endl;
                    //tu operacje na pliku
                } else std::cout << "Nie mozna utworzyc pliku! Moze nie masz do tego uprawnien?" << std::endl;
               
            }
        }
       
        //otworz
       
       
        else if( komenda == "otworz" )
        {
            string nazwa2 = "przyklad.txt";
            cout << "Podaj sciezke pliku do otworzenia\n";
            cin >> nazwa2;
            fstream plik2;
            plik2.open( nazwa2.c_str(), std::ios::in | std::ios::out );
            if( plik2.good() == true )
            {
                cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl;
                fstream plik2( nazwa2.c_str(), std::ios::in ); //zakładamy, że plik istnieje
                string dane;
                getline( plik2, dane );
                cout << dane;
                cout << "\n";
            } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl;
           
        }
       
        //EDYTUJ
       
        else if( komenda == "edytuj" )
        {
            string nazwa3 = "przyklad.txt";
            cout << "Podaj sciezke pliku do edycji\n";
            cin >> nazwa3;
            fstream plik3;
            plik3.open( nazwa3.c_str(), std::ios::in | std::ios::out );
            if( plik3.good() == true )
            {
                cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl;
                fstream plik3( nazwa3.c_str(), std::ios::in ); //zakładamy, że plik istnieje
                string dane;
                getline( plik3, dane );
                cout << dane;
                cout << "\n";
                cout << "\n\nCo chesz zrobic z tym plikiem?\nNadpisz - nadp\nZrezygnuj - wstecz";
                string komenda2;
                cin >> komenda2;
                if( komenda2 == "nadp" )
                {
                    cout << "Wpisz tresc dopiski do pliku";
                    fstream plik3( nazwa3.c_str(), std::ios::out ); //zakładamy, że nie wystąpił błąd (plik otwarto/utworzono)
                    string napis;
                    cin >> napis;
                    plik3.write( & napis[ 0 ], napis.length() );
                    plik3.close();
                }
                else if( komenda2 == "wstecz" )
                {
                    plik3.close();
                } else cout << "error";
               
            } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl;
           
        }
       
       
        else
        {
            cout << "Zla komenda!";
        }
        cout << "\n\nWcisnij dowolny klawisz by wrocic do MENU...\n";
        znak = getch();
        system( "cls" );
    } while( true );
   
}
P-97789
pekfos
» 2013-11-28 20:10:18
Dopisz cin.sync() przed getline().
P-97791
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-11-28 20:30:46
Działa jak należy dzięki za pomoc :)
P-97796
1 « 2 »
Poprzednia strona Strona 2 z 2