Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

C++/fstream przechowywanie nazwy pliku

#1
C++/fstream przechowywanie nazwy pliku
Kiedyś miałem następujący problem...

Kod:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class baza
{
     private:
          string tresc;
          string plik;  
     public:
            baza(const string&);
            void wczytaj();
            void wypisz();
};
baza::baza(const string& nazwa_pliku) : plik(nazwa_pliku)
{
}
void baza::wczytaj()
{
     fstream plik_dane;
     plik_dane.open(plik, ios::in);
     getline(plik_dane, tresc);
     plik_dane.close();
}
void baza::wypisz()
{
     cout << tresc << endl;
}
int main()
{
    baza dane("tekst.txt");
    dane.wczytaj();
    dane.wypisz();
    cout << endl;
    system("PAUSE");
    return 0;
}

Chciałem napisać program podobny do powyższego i jak widać jest tu błąd.
Nie można przekazać stringu do funkcji open klasy fstream, niestety użycie char*, też się nie powiodło.

I stąd moje pytanie, jak zapamiętać nazwę pliku w classie?
Tu był nieregulaminowy podpis.
 System operacyjny: windows_seven Przeglądarka: opera
#2
RE: C++/fstream przechowywanie nazwy pliku
Tutaj nie powinno być (a raczej na pewno powinno być)
Kod:
plik_dane.open(plik.c_str (), ios::in); !?
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: C++/fstream przechowywanie nazwy pliku
Raz sie skompiluje, a w innym programie gdzie mialem ten problem wywala blad:
Kod:
C:\-------------------------\prog.cpp||In member function 'void myspace::baza::zaladuj()':|
C:\U-------------------------\prog.cpp|144|error: 'struct std::fstream' has no member named 'c_str'|
C:\-------------------------\prog.cpp||In member function 'bool myspace::baza::zapisz()':|
C:\-------------------------\prog.cpp|190|error: 'struct std::fstream' has no member named 'c_str'|
||=== Build finished: 2 errors, 0 warnings ===|

Za cholere nie wiem jak sie go pozbyc ;/

EDIT
konflikt nazw, problem rozwiązany, późno już idę spać Język
Tu był nieregulaminowy podpis.
 System operacyjny: windows_seven Przeglądarka: opera
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
nazwa poziomu gry wykorzystująca fstream

Podobne wątki (C++/fstream przechowywanie nazwy pliku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 5110 30.12.2017, 11:08
Ostatni post: koneton
  C# Przechowywanie sporej ilości danych Kamil 1 9 11213 22.05.2017, 08:05
Ostatni post: koneton
  wczytanie danych z pliku, filtrowanie danych, zapis wyniku do pliku tekstowego - C++ Martus 1 11651 21.10.2015, 22:43
Ostatni post: Szachista

Skocz do: