strumien fstream w strzukturze

0

Cześć.

Robie srtukture w pliku naglowkowycm

struct x
{
fstream plik;
}

i chce zniej korzystac w pliku wlasciwym.
Deklaruje x y;
y.plik.open( blablabla);

i dsotaje bledy tego typu

c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(8): error C2146: syntax error : missing ';' before identifier 'plik'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.cpp(73): error C2039: 'plik' : is not a member of 'x
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\b\b\program.h(7) : see declaration of 'x'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(73): error C2228: left of '.open' must have class/struct/union

0

Dałeś 3 linijki kodu, a błędy masz rozsiane po całym kodzie, i co mamy przewidywać co tam napisałeś? Wklej cały kod, albo PRZYNAJMNIEJ fragmenty gdzie błędy występują. Umiejętność czytania angielskiego (+rozumienia) też się przyda.

0

Pewnie problemem jest brak średnika po definicji struktury

0

progra.h

struct program
{
	fstream plik;
	fstream plik2;
	tm czas;
	long dlugosc_pliku;
	
};

program.cpp

char *fdir
char nazwa[50];
program pro;

bool Ustaw_plik(){

	fdir = _getcwd( NULL, 0 );



	cin>>nazwa; 
	
	73  pro.plik.open(nazwa,ios::in);

	75  if(!pro.plik.is_open()) cout<<"blad otwarcia"<<endl;

...

}

c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(8): error C2146: syntax error : missing ';' before identifier 'plik'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(9): error C2146: syntax error : missing ';' before identifier 'plik2'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(73): error C2039: 'plik' : is not a member of 'program'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(7) : see declaration of 'program'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(73): error C2228: left of '.open' must have class/struct/union
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(75): error C2039: 'plik' : is not a member of 'program'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(7) : see declaration of 'program'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(75): error C2228: left of '.is_open' must have class/struct/union
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.cpp(94): error C2039: 'plik' : is not a member of 'program'
c:\documents and settings\właściciel\moje dokumenty\visual studio 2010\projects\lotto\lotto\program.h(7) : see declaration of 'program'

0

Ale niektóre błedy dotyczą linijek 73, 75, 94!

0

Dopisalem obok nr linii. TO jest tylko fragment kodu, od reszta dotyczy tego samego, czyli np. left of '.seekg' must have class/struct/union

0

using namespace std; Jest w program.cpp

0

Gdzieś Ci brakuje średnika(ów). Np. po deklaracji fdir

0

W header nie uzywasz using namespace std; Skad ma kompilator wiedziec, co to fstream? Dodales header przed deklaracja lasy?

0
Lex napisał(a)

W header nie uzywasz using namespace std;

W plikach nagłówkowych nie używa się

using namespace std; 

Powinien użyć std::obiekt_z_std

0

Troche zmienilem juz z tymi strumieniami w strukturze, ale napotkalem na kolejny problem. Mianowicie chce ustawic czas (patrz struktura post pierwszy )

pr.czas ={ 0,0,0,0,0,0,0,0,0 }; 

I nie bardzo sie da.

0

bo tak się nie da, w ten sposób można jedynie inicjalizować zmienne

0

Hm, to co powinienem zrobic, aby data wychodzila normalnie? Teraz mam cos takieg 16.0.111 1937 dd.mm.rrr.

I jeszcze jedno pytanie, tak na szybkiego - jak zrobic, aby ikonka programu miala jakis wyglad, a nie takie zwykle okienko?

Przepraszam za takie pytania, ale dopiero sie ucze.

0

musisz po prostu ustawić wszystkie pola tej struktury bezpośrednio się do nich odwołując. Z ikoną daj sobie na razie spokój.

0 użytkowników online, w tym zalogowanych: 0, gości: 0