eldarin Temat założony przez niniejszego użytkownika |
Zapisywanie w pliku przy użyciu osobnej funkcji » 2015-08-23 12:04:42 Witam, na wstępie dziekuje za udostepnienie kursu.
Stworzylem program, ktory dla roznych sytuacji uzywa tej samej funkcji, z roznymi parametrami. Funkcja wyglad aw ten sposob:
void generujserie(int A, int B, int C, int D, int E, int F, int G, int H, int I, int J, int K)
Chcialbym, zeby wewnatrz niej dokonywalo sie nadpisywanie pewnych danych do pliku. W 'main' stworzylem wiec ponizsze zapisy:
fstream plik; plik.open("C:\\Users\\Michał P\\Documents\\Visual Studio 2015\\Projects\\X\\x.txt", ios::in | ios::out); if (plik.good() == true) { plik << "Uzyskano dostep do pliku!" << endl; system("pause"); generujserie(A, B, C, D, E, F, G, H, I, J, K); system("pause"); plik.close(); }
Niestety wewnatrz funkcji generujserie nie moge uzyc zapisu do pliku, gdyz pojawia sie blad, ze nie zarejestrowano zmiennej plik. Jak zmienilem zapis i dodalem zmienna do funkcji (na logike, bo w kursie nie opisujecie jak to zrobic):
void generujserie(int A, int B, int C, int D, int E, int F, int G, int H, int I, int J, int K, fstream plik)
a pozniej:
fstream plik; plik.open("C:\\Users\\Michał P\\Documents\\Visual Studio 2015\\Projects\\X\\x.txt", ios::in | ios::out); if (plik.good() == true) { plik << "Uzyskano dostep do pliku!" << endl; system("pause"); generujserie(A, B, C, D, E, F, G, H, I, J, K, plik); system("pause"); plik.close(); }
to pojawia sie nastepujacy blad:
error C2280: 'std::basic_fstream<char,std::char_traits<char>>::basic_fstream(const std::basic_fstream<char,std::char_traits<char>> &)': attempting to reference a deleted function 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\fstream(1226): note: see declaration of 'std::basic_fstream<char,std::char_traits<char>>::basic_fstream' ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== |
eldarin Temat założony przez niniejszego użytkownika |
» 2015-08-23 12:25:03 Program generuje ciagi 11-cyfrowych liczb, z ktorych ta ostatnia jest suma kontrolna, ktora do obliczenia uzywa roznych wag pozostalych cyfr. DLatego uproscilem sobie w ten sposob, bo jestem bardzo poczatkujacy. Z biegiem czasu i nauki pewnie ogranicze uzycie tych zmiennych, bo domyslam sie juz jak inaczej mozna to zrobic, tylko nie dotarlem jeszcze tak daleko w kursie. Na razie potrzebuje miec plik z wygenerowanymi kilkudziesięcioma tysiacami rekordow ;)
Nie rozumiem, moglbys podpowiedziec mi uzycie kodu w main oraz w funkcji? |
JMII89 |
» 2015-08-23 12:40:13 void generujserie( int A, int B, int C, int D, int E, int F, int G, int H, int I, int J, int K, std::fstream & plik )
generujserie( A, B, C, D, E, F, G, H, I, J, K, plik );
O to ci chodziło ? @BadBullPL PL ? XD.Mi to jakoś nigdy nie działało lub coś źle robiłem,ale nie chciało zapisywać do pliku otwierając w trybie do zapisu i do odczytu. |