Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- // funkcja zapisz - przyjmuje nazwe pliku jako string
- void zapisz(const char* plik_wyj, const char* zawartosc, int ile = 10)
- {
- std::ofstream fout(plik_wyj, std::ios::app);
- if(fout.is_open())
- {
- for(int i = 0; i < ile; i++)
- {
- fout << zawartosc << std::endl;
- }
- }
- fout.close();
- }
- // przeciazenie funkcji zapisz - przyjmuje strumien plikowy
- void zapisz(std::ofstream& plik_wyj, const char* zawartosc, int ile = 10)
- {
- for(int i = 0; i < ile; i++)
- {
- plik_wyj << zawartosc << std::endl;
- }
- // plik jest juz otwarty, nie trzeba go zamykac tutaj
- }
- int main(int argc, char* argv[])
- {
- // sprawdz czy mamy odpowiednia liczbe argumentow
- if(argc < 3)
- {
- std::cerr << "Uzycie: " << argv[0] << " <plik_wyj> <zawartosc> [ile]" << std::endl;
- return 1;
- }
- const char* plik_wyj = argv[1];
- const char* zawartosc = argv[2];
- int ile = 10; // domyslna wartosc
- // jesli podano trzeci argument, uzyj go jako ile
- if(argc >= 4)
- {
- ile = std::atoi(argv[3]);
- if(ile < 0)
- {
- std::cerr << "liczba powtorzen musi byc nieujemna!" << std::endl;
- return 1;
- }
- }
- // test pierwszej wersji funkcji zapisz
- std::cout << "Zapisywanie do pliku " << plik_wyj << "..." << std::endl;
- zapisz(plik_wyj, zawartosc, ile);
- std::cout << "Gotowe!" << std::endl;
- // test przeciazonejfunkcji zapisz
- std::ofstream fout(plik_wyj, std::ios::app); // otwieramy w trybie append
- if(fout.is_open())
- {
- std::cout << "Zapisywanie przez strumien..." << std::endl;
- zapisz(fout, zawartosc, ile);
- fout.close();
- std::cout << "Gotowe!" << std::endl;
- }
- else
- {
- std::cerr << "Nie udalo sie otworzyc pliku!" << std::endl;
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment