August 29, 2001
Använder FILE "metoden"(stdio.h), eftersom streamning är så förbenat bökigt.
Detta är (början till) min kod för att ladda banor i min 3dmotor:
bool LoadMap( char *name )
{
FILE *file = fopen( name, "rb" );
if( feof(file) )
{
fclose(file);
return false;
}
long tmp;
fread( &tmp, 1, 4, file );
if( tmp <= 0 )
{
fclose(file);
return false;
}
if( worldverts != NULL )
delete [] worldverts;
worldverts = new vect3d [tmp];
fclose(file);
return true;
}
Har provat ta bort allt utom
if( feof(file) )
och lade till ett ; i slutet av den raden....Ingen förbjuden åtgärd lr så...
Men om jag gör så här:
if( feof(file) ) MessageBox(NULL, "Could not open file", "ERROR", MB_ICONEXCLAMATION );
så blir det förbjuden åtgärd....
Så går det inte ta reda på om en fil existerar INNAN man öppnar den?
Lr har ngn annan ngt bättre förslag 😕
August 2, 2001
kolla på returvärdet från fopen()
om du var linux hacker så kör
datan~>man fopen ger bl.a. följande:
RETURN VALUES
Upon successful completion, fopen() returns a pointer to the
object controlling the stream. Otherwise, a null pointer is
returned and errno is set to indicate the error.
The fopen() function may fail and not set errno if there are
no free stdio streams.
September 18, 2001
September 18, 2001
skulle vart en en "tab" innan or die('yadayada'); (för det är en fortsättning på övre raden) .
jag säger inte att jag direkt kan c++ (har inte orkat lära mig det så mycket, förrutom vissa grejjer, den där "or die" är en grej som ofta förekommer i (bla) c++ baserade programmeringsspråk så jag gissade att det kanske funkade i c++ oxå, men om du missade det så sa jag faktiskt "fast det kanske inte funkar".
1 Guest(s)