Path Name Prüfen...
-
char* pathName = "res\\image.gif";
- wie kann ich überprüfen, ob "pathName" vorhanden?
- wie kann ich Datei Erweiterung(GIF) abfragen?danke.
-
BOOL FileExists(LPCTSTR filename) { WIN32_FIND_DATA FindFileData; HANDLE handle = FindFirstFile(filename, &FindFileData); BOOL retVal = (handle != INVALID_HANDLE_VALUE); FindClose(handle); return retVal; } VOID ExtractFileExtension(LPCTSTR filename, LPCTSTR& ext) { int slashpos = strlen(filename); while(filename[slashpos] != '.') slashpos--; ext = filename + slashpos * sizeof(char); } // Beispiel zur zweiten Funktion char fn[14] = "C:\\netlog.txt"; fn[13] = '\0'; char* ext; ExtractFileExtension(fn, ext); MessageBox(NULL, ext, "Die Extension:", MB_OK);
[ Dieser Beitrag wurde am 08.09.2002 um 03:36 Uhr von WebFritzi editiert. ]
-
du kannst auch _splitpath() bzw. _wsplitpath() (sh. MSDN) benutzen
-
Diese Funktionen kennt meine Windows-SDK-Doku nicht.
-
Meine auch nicht, aber ich habe schon mal so was im PSDK gesehen. Ich finde es bloß nicht wieder.
-
Meine auch nicht, aber ich habe schon mal so was im PSDK gesehen. Ich finde es bloß nicht wieder.
PathFileExists(), PathFindExtension()
-
Jetzt habe ich es : _splitpath ist eine CBuilder-Funktion.
char *ExtractFileName(char *Path) { char *FileName; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; FileName = (char *)malloc(_MAX_FNAME); _splitpath(Path, drive, dir, fname, ext); strcpy(FileName, fname); strcat(FileName, ext); return FileName; } char *ExtractFileExt(char *Path) { char *FileExt; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; FileExt = (char *)malloc(_MAX_EXT); _splitpath(Path, drive, dir, fname, ext); strcpy(FileExt, ext); return FileExt; }
[ Dieser Beitrag wurde am 09.09.2002 um 05:27 Uhr von Luckie editiert. ]
-
Kritik: Man sollte in einer Funktion nicht Speicher allokieren, den man darin dann nicht mehr freigibt.
Ich finde meine Funktionen eigentlich ganz gut. Was gibt's jetzt noch zu meckern?
-
Ist nicht von mir, habe ich irgendwie mit google gefunden.
-
Original erstellt von WebFritzi:
**Kritik: Man sollte in einer Funktion nicht Speicher allokieren, den man darin dann nicht mehr freigibt.Ich finde meine Funktionen eigentlich ganz gut. Was gibt's jetzt noch zu meckern? **
Wenn du darum bettelst:
Man könnte die Existenz einer Datei auch mit CreateFile() überprüfen.
Ist kürzer
-
Und wennes sich um eien Exe handlet die gerade benutzt wird? Was lieferet CreateFile dann zurück? Doch auch INVALID_HANDLE oder?
-
Hm, jå, hast recht.
-
Hmm, bäh, hast doch nicht recht.
-
PathFileExists()
Unschlagbar
-
Gibts bei mir auch nicht.
-
...PathFileExists() geht aber erst am Win98 oder Win95 mit InternetExplorer 4.0
-
Naja, über die Einschränkung kann man wohl hinwegsehen.
In der Statistik auf unserer HP (s.u. Link) hat keiner mehr eine Konfiguration mit der es nicht geht.
-
Original erstellt von WebFritzi:
Gibts bei mir auch nicht.LOL
-
Wieso lachst du? Das war schon ernst gemeint. In meinem SDK ist diese Funktion nicht vorhanden.
-
Also ich habe die Funktion aber auch bei mir in der SDK.
Hast du vielleicht ne ältere Version, oder überhaupt kein MS Produkt?
Also ich habe noch die 6.0 Autoren Version.