Ta reda på om en fil existerar(ngt åt det hälet)...|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Ta reda på om en fil existerar(ngt åt det hälet)...
Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
1
November 8, 2001 - 7:29 pm
sp_Permalink sp_Print

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 😕

_paul_
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 126
Member Since:
August 2, 2001
sp_UserOfflineSmall Offline
99175
November 9, 2001 - 11:43 am
sp_Permalink sp_Print

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.

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
99218
November 9, 2001 - 12:45 pm
sp_Permalink sp_Print

Aha! Då förstår jag...
file = fopen(name, "rb");

Så då blir

file = NULL;

Och då ersätter jag

if( feof(file) )

med

if( file == NULL )

visst?

Jastor
Almost a full-blooded keyboard-warrior
Medlem
Forum Posts: 244
Member Since:
September 18, 2001
sp_UserOfflineSmall Offline
100027
November 10, 2001 - 4:26 pm
sp_Permalink sp_Print

FILE *file = fopen( name, "rb" )
or die("tjofräsan tjofräsan");

?? fast det kanske inte funkar =/

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
100855
November 11, 2001 - 5:50 pm
sp_Permalink sp_Print

Du kan inte c++ ser jag...
nr 1. or = | eller ||(beror på om det är bitvis eller villkorlig jämföring)
die(blablabla); //du glömde ;

Jastor
Almost a full-blooded keyboard-warrior
Medlem
Forum Posts: 244
Member Since:
September 18, 2001
sp_UserOfflineSmall Offline
101856
November 13, 2001 - 12:10 am
sp_Permalink sp_Print

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".

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
101882
November 13, 2001 - 6:19 am
sp_Permalink sp_Print

bool Bajs( char *name )
{
    FILE *file = fopen( name, "rb" );
    if( (file == NULL) || die("tjofräsan tjofräsan") )
        return false;
    fclose(file);
    return true;
}

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 694
Currently Online:
Guest(s) 59
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL