String w <fstream> zapis stringa do pliku jako jednej zmiennej włącznie ze spacjami.
Ostatnio zmodyfikowano 2013-11-28 20:30
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-28 20:02:56 Oto cały kod: #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; } else std::cout << "Nie mozna utworzyc pliku! Moze nie masz do tego uprawnien?" << std::endl; } } 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 ); string dane; getline( plik2, dane ); cout << dane; cout << "\n"; } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl; } 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 ); 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 ); 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 ); }
|
|
pekfos |
» 2013-11-28 20:10:18 Dopisz cin.sync() przed getline(). |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-28 20:30:46 Działa jak należy dzięki za pomoc :) |
|
1 « 2 » |