Problem mit FileExists
-
Hallo zusaamen,
Meine Frage:
Gibt es möglichkeit mit einer MFC Anwendung FileExists zu Benutzen? Ich bekomme Fehler Meldung C3861 "Idendifier not found" oder mache ich was falsch?
char *strTemp=new char;
strConfigFile=GetCommandLine();
strConfigFile=strConfigFile.Mid(1, strConfigFile.ReverseFind('\'));
strConfigFile=strConfigFile+"\\config.ini";if(FileExists(strConfigFile))
{
-...........
}Danke im Voraus.
S.Mathi :xmas1:
-
dein code ist müll ...
wofür legst du einen Zeiger auf ein Zeichen an den du danach noch nichteinmal nutzt? ist strConfigFile nen CString?Und die Funktion FileExists sollte es normal nicht geben? Es sei denn du hast die geschrieben ...
öhm sach nicht du meinst http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/0f2bdb53-5821-45d7-9044-ef1abc4ddc89.asp
?! Dann wäre klar was falsch ist
-
probiers mal so evtl. funzt das dann wie du es machen willst
BOOL C...Dlg::IsFileExists(LPCTSTR lpFileName)
{WIN32_FIND_DATA finddata;
HANDLE handle = FindFirstFile(lpFileName,&finddata);
return (handle!=INVALID_HANDLE_VALUE);
}
-
@LowFly: NaNaNa.... da wird aber ein grosses Handle-Leak erzeugt, wenn viele Dateien abgefragt werden...
Also bitte: "FindClose" aufrufen, wenn es erfolgreich war...
-
hmm war mir nicht bewust das dies passieren könnte danke für den hinweis wie wäre es dann korrect??
BOOL C...Dlg::IsFileExists(LPCTSTR lpFileName) { WIN32_FIND_DATA finddata; HANDLE handle = FindFirstFile(lpFileName,&finddata); BOOL bTorF = (handle!=INVALID_HANDLE_VALUE); FindClose(handle ); return bTorF ; }oder könnte man auch FindClose als returnwert hernemen?
in der artBOOL C...Dlg::IsFileExists(LPCTSTR lpFileName) { WIN32_FIND_DATA finddata; HANDLE handle = FindFirstFile(lpFileName,&finddata); return FindClose(handle ); }
-
Ich persönlich würde die erste Variante bevorzugen, da ich bei der zweiten erst in die Doku schauen müsste um den Code zu verstehen (und hoffentlich wird dann hier MS nie was ändern).
-
GetFileAttributes (), GetLastError ()
Wäre doch einfacher, oder ?
-
merker schrieb:
GetFileAttributes (), GetLastError ()
Wäre doch einfacher, oder ?Da geb ich Dir natürlich auch wieder recht...
(das ist auch das was intern die CRT in der Funktion "_access" verwendet
)
-
(D)Evil schrieb:
dein code ist müll ...
wofür legst du einen Zeiger auf ein Zeichen an den du danach noch nichteinmal nutzt? ist strConfigFile nen CString?Und die Funktion FileExists sollte es normal nicht geben? Es sei denn du hast die geschrieben ...
öhm sach nicht du meinst http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/0f2bdb53-5821-45d7-9044-ef1abc4ddc89.asp
?! Dann wäre klar was falsch ist
Zeiger habe ich für die Funktion "GetPrivateProfileString" Vorbereitet.!!
deine MSDN Link habe ich nicht gemeint.Ich kenne "FileExists" von BCB6. So habe ich einfach auch unter MFC ausprobieren.
Gruß
S.Mathi