Espacios de nombres
Variantes

std::source_location::file_name

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
 
constexpr const char* file_name() const noexcept;
(desde C++20)

Devuelve el nombre del archivo fuente actual representado por este objeto, representado como una cadena de bytes terminada en nulo.

Parámetros

(Ninguno)

Valor de retorno

El nombre del archivo fuente actual representado por este objeto, representado como una cadena de bytes terminada en nulo.

Ejemplo

#if __has_include(<source_location>)
#include <source_location>
using std::source_location;
#elif __has_include(<experimental/source_location>)
#include <experimental/source_location>
using std::experimental::source_location;
#else
#error "no se ha encontrado a <source_location>"
#endif

#include <iostream>

inline void imprime_este_nombre_de_archivo(
    const source_location& ubicacion = source_location::current())
{
    // Nombre del archivo que contiene el sitio de llamada de esta función.
    std::cout << "Archivo: " << ubicacion.file_name() << '\n';
}

auto main() -> int
{
    imprime_este_nombre_de_archivo();
}

Posible salida:

Archivo: main.cpp

Véase también

Devuelve el número de línea representada por este objeto.
(función miembro pública) [editar]
Devuelve el número de columna representado por este objeto.
(función miembro pública) [editar]
Devuelve el nombre de la función representada por este objeto, si es que la hay.
(función miembro pública) [editar]
Documentación de C++ para Nombre de archivo e información de línea