pcstyle

Untitled

Nov 3rd, 2025
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstdlib>
  4.  
  5. // funkcja zapisz - przyjmuje nazwe pliku jako string
  6. void zapisz(const char* plik_wyj, const char* zawartosc, int ile = 10)
  7. {
  8. std::ofstream fout(plik_wyj, std::ios::app);
  9. if(fout.is_open())
  10. {
  11. for(int i = 0; i < ile; i++)
  12. {
  13. fout << zawartosc << std::endl;
  14. }
  15. }
  16. fout.close();
  17. }
  18.  
  19. // przeciazenie funkcji zapisz - przyjmuje strumien plikowy
  20. void zapisz(std::ofstream& plik_wyj, const char* zawartosc, int ile = 10)
  21. {
  22. for(int i = 0; i < ile; i++)
  23. {
  24. plik_wyj << zawartosc << std::endl;
  25. }
  26. // plik jest juz otwarty, nie trzeba go zamykac tutaj
  27. }
  28.  
  29. int main(int argc, char* argv[])
  30. {
  31. // sprawdz czy mamy odpowiednia liczbe argumentow
  32. if(argc < 3)
  33. {
  34. std::cerr << "Uzycie: " << argv[0] << " <plik_wyj> <zawartosc> [ile]" << std::endl;
  35. return 1;
  36. }
  37.  
  38. const char* plik_wyj = argv[1];
  39. const char* zawartosc = argv[2];
  40. int ile = 10; // domyslna wartosc
  41.  
  42. // jesli podano trzeci argument, uzyj go jako ile
  43. if(argc >= 4)
  44. {
  45. ile = std::atoi(argv[3]);
  46. if(ile < 0)
  47. {
  48. std::cerr << "liczba powtorzen musi byc nieujemna!" << std::endl;
  49. return 1;
  50. }
  51. }
  52.  
  53. // test pierwszej wersji funkcji zapisz
  54. std::cout << "Zapisywanie do pliku " << plik_wyj << "..." << std::endl;
  55. zapisz(plik_wyj, zawartosc, ile);
  56. std::cout << "Gotowe!" << std::endl;
  57.  
  58. // test przeciazonejfunkcji zapisz
  59. std::ofstream fout(plik_wyj, std::ios::app); // otwieramy w trybie append
  60. if(fout.is_open())
  61. {
  62. std::cout << "Zapisywanie przez strumien..." << std::endl;
  63. zapisz(fout, zawartosc, ile);
  64. fout.close();
  65. std::cout << "Gotowe!" << std::endl;
  66. }
  67. else
  68. {
  69. std::cerr << "Nie udalo sie otworzyc pliku!" << std::endl;
  70. return 1;
  71. }
  72.  
  73. return 0;
  74. }
  75.  
  76.  
Advertisement
Add Comment
Please, Sign In to add comment