una poner organizar etiquetas etiquetar etiqueta detalles como colorear carpetas añadir archivos archivo agregar windows winapi file

windows - poner - ¿Cómo podemos verificar si un archivo existe o no con el programa Win32?



organizar carpetas en windows 10 (7)

¿Qué tal simplemente?

#include <io.h> if(_access(path, 0) == 0) ... // file exists

¿Cómo podemos verificar si existe un archivo o no usando un programa Win32? Estoy trabajando para una aplicación de Windows Mobile.


Otra forma más genérica que no es Windows:

static bool FileExists(const char *path) { FILE *fp; fpos_t fsize = 0; if ( !fopen_s(&fp, path, "r") ) { fseek(fp, 0, SEEK_END); fgetpos(fp, &fsize); fclose(fp); } return fsize > 0; }



Puede hacer uso de la función GetFileAttributes . Devuelve 0xFFFFFFFF si el archivo no existe.


Puedes intentar abrir el archivo. Si falló, significa que no existe en la mayoría del tiempo.



Puede llamar a FindFirstFile .

Aquí hay una muestra que acabo de desmayar:

#include <windows.h> #include <tchar.h> #include <stdio.h> int fileExists(TCHAR * file) { WIN32_FIND_DATA FindFileData; HANDLE handle = FindFirstFile(file, &FindFileData) ; int found = handle != INVALID_HANDLE_VALUE; if(found) { //FindClose(&handle); this will crash FindClose(handle); } return found; } void _tmain(int argc, TCHAR *argv[]) { if( argc != 2 ) { _tprintf(TEXT("Usage: %s [target_file]/n"), argv[0]); return; } _tprintf (TEXT("Looking for file is %s/n"), argv[1]); if (fileExists(argv[1])) { _tprintf (TEXT("File %s exists/n"), argv[1]); } else { _tprintf (TEXT("File %s doesn''t exist/n"), argv[1]); } }