La forma más rápida de verificar si existe un archivo usando C ++ estándar

La forma más rápida de verificar si existe un archivo usando C ++ estándar
Verificar si Existen archivos El uso de C ++ estándar es una tarea importante para los desarrolladores que trabajan en aplicaciones relacionadas con archivos y directorios. Antes de transferir cualquier dato al disco o intentar sobrescribir un archivo existente, verificando si el El archivo existe Es vital. Dependiendo de lo que el desarrollador esté tratando de lograr, hay una variedad de formas de verificar si un El archivo existe. Este artículo le enseñará más al respecto.

Cómo verificar la existencia del archivo en el estándar C++

Existen numerosos métodos para averiguar si hay un archivo, como el siguiente:

  • Uso de la función stat ()
  • Usando std :: ifstream
  • Uso de la función fopen ()

1: Cómo verificar la existencia del archivo en C ++ usando la función stat ()

El stat () El método es la técnica más eficiente y segura para verificar la existencia del archivo. El sys/stat.H El archivo de encabezado tiene una función predefinida llamada estadística. La función acepta una ruta y una estructura como parámetros, donde se mantendrían los metadatos asociados con el archivo o el directorio, si los hay. La función devuelve el resultado de 0 si la ruta es legítima. Verificaríamos por el existencia del archivo como ejemplo:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

const char* file = "c_file.TXT";
stat stat sb;
if (stat (archivo, & sb) == 0)
cout << "This file exists";
demás
cout << "The file does not exists!";
regresar 0;

Primero, la variable del puntero del archivo almacena la ruta del archivo. Después de eso, el estadística El formato del archivo de encabezado se usa para inicializar la estructura vacía. Los metadatos se guardarían de esta manera. El función estadística luego se llama dentro de la condición if. El resultado sería 0 si la ruta es correcta, lo que significa que existía el archivo o directorio; de lo contrario, no sería cero.

Producción

Nota: Asegúrese de reemplazar el nombre de archivo "C_file.TXT" con el nombre del archivo que desea verificar.

2: Cómo verificar la existencia del archivo en C ++ usando la función std :: ifstream ()

Usando la función de biblioteca estándar C ++ std :: ifstream es otro método para determinar si un archivo está presente. Esta función devuelve un objeto de transmisión que puede usarse para leer el archivo, que acepta una ruta como entrada. Para usar esta función, el desarrollador pasaría la ruta y el nombre del archivo al constructor del std :: ifstream clase. El resultado de hacer esto es el archivo que el constructor abre correctamente el archivo o se lanza una excepción. Como resultado, si se abre el archivo, el desarrollador puede suponer que está presente.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
file ifstream ("file_name.TXT");
if (archivo.bien())

std :: cout << "file exists." << endl;

demás

std :: cout << "file doesn't exist." << endl;

Comenzando con el principal() método, un objeto del Ifstream El archivo con nombre de clase se crea para leer el archivo de destino más tarde. Al invocar la función abierta en el objeto de archivo, el nombre del archivo de destino se suministra como argumento. Esta línea intentará abrir el archivo en modo de solo lectura.

Dado que un archivo solo se puede abrir si existe físicamente allí y no se puede acceder de otra manera. Estamos utilizando indirectamente el método Open () para verificar el Existencia del archivo. Luego, utilizando las declaraciones condicionales if-else, determinamos si el objeto de archivo ha abierto el archivo o no; Si lo ha hecho, esto significa que se encuentra en la ruta especificada, y mostramos un mensaje de éxito; De lo contrario, producimos un mensaje de error.

Producción

3: Cómo verificar la existencia del archivo en C ++ usando la función fopen ()

La tercera forma de verificar si un El archivo existe es usar la función C ++ fopen (). El fopen () El método crea una transmisión y abre el archivo indicado por nombre de archivo. La variable de modo es una cadena de caracteres que indica el tipo de acceso de archivo que se ha solicitado. Un parámetro posicional precede a los argumentos de palabras clave opcionales en la variable de modo.

Podemos guardar el valor de retorno de la ejecución de fopen () en el archivo de puntero cuando ha terminado. Si la apertura del archivo fue exitosa, la función fopen (), que muestra si el archivo se había abierto previamente, producirá un puntero de transmisión de archivo que se refiere al archivo de destino. Si no tuvo éxito, lo que indica si el archivo ya lo había sido, devolverá nulo. Luego, si la referencia del archivo no es nula, sabemos que el archivo está presente y puede producir un mensaje de éxito; de lo contrario, se enviará un mensaje de error.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

Archivo* archivo;
file = fopen ("c_file.txt "," r ");
if (archivo!= Nulo)

cout << "File exists" << endl;

demás

cout << "File does not exists" << endl;

regresar 0;

Para leer el archivo, creamos un puntero a la clase de archivo que comienza desde el principal () método. A continuación, usamos los argumentos "C_file.TXT" y "R" Para definir el archivo de destino y la acción que queremos realizar cuando ejecutemos el fopen () método. 'r' indica que queremos leer el archivo.

Producción

Conclusión

Hay diferentes funciones de C ++ para verificar si existe un archivo, que son stat, std :: ifstream y enchufar. De los tres métodos, stat () La función es la forma más rápida y confiable de verificar las existencias de archivos. Mientras que otras dos funciones también son útiles para verificar la existencia del archivo. Por lo tanto, los desarrolladores deben considerar el uso de estas funciones para un rendimiento y confiabilidad óptimos al verificar la existencia del archivo.