Saber si archivo existe en C++

En este post te mostraré cómo comprobar si un archivo existe usando el lenguaje de programación C++ también conocido como CPP.

Vamos a encerrar el comportamiento en una función que nos devolverá un booleano indicando si el archivo existe.

Comprobando si archivo existe

Podemos abrir el archivo y regresar lo que regrese el método good. Así:

bool archivo_existe(string nombre)
{
	ifstream archivo(nombre.c_str());
	return archivo.good();
}

Modo de uso

Y bien, para saber si un archivo existe en C++ veamos el siguiente ejemplo de código. En este caso estoy comprobando si el archivo llamado existe.cpp (que a su vez es el archivo que tiene el código) existe:

// https://parzibyte.me/blog
#include <iostream>
#include <fstream>

using namespace std;

bool archivo_existe(string nombre)
{
	ifstream archivo(nombre.c_str());
	return archivo.good();
}

int main(int argc, char const *argv[])
{
	string ubicacion = "existe.cpp";
	if (archivo_existe(ubicacion))
	{
		cout << "El archivo existe\n";
	}
	else
	{
		cout << "El archivo NO existe\n";
	}
	return 0;
}

En este caso al compilar y comprobar la salida obtenemos que el archivo existe. Dependiendo del nombre del archivo éste puede o no existir, pero con este método puedes verificar si un fichero existe en C++.

Por aquí te dejo más tutoriales de CPP en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *