Espacios de nombres
Variantes
Acciones

Biblioteca del sistema de archivos

De cppreference.com
< cpp
 
 
 

La biblioteca del sistema de archivos proporciona servicios para realizar operaciones en los sistemas de archivos y sus componentes, como rutas de acceso, archivos regulares y directorios.

La biblioteca del sistema de archivos se desarrolló originalmente como boost.filesystem, se publicó como la especificación técnica ISO/IEC TS 18822:2015, y finalmente se fusionó con ISO C++ a partir de C++17. La implementación de Boost está actualmente disponible en más compiladores y plataformas que la biblioteca de C++17.

Los servicios de la biblioteca del sistema de archivos pueden no estar disponibles si un sistema de archivos jerárquico no está accesible para la implementación, o si no proporciona las capacidades necesarias. Es posible que algunas funciones no estén disponibles si no son compatibles con el sistema de archivos subyacente (por ejemplo, el sistema de archivos FAT carece de enlaces simbólicos y prohíbe enlaces múltiples). En esos casos, los errores deben ser reportados.

El comportamiento no está definido si las llamadas a función en esta biblioteca introducen una carrera del sistema de archivos, es decir, cuando múltiples hilos, procesos o computadoras intercalan el acceso y la modificación al mismo objeto en un sistema de archivos.

Contenido

[editar] Definiciones de toda la biblioteca

  • archivo: un objeto del sistema de archivos que contiene datos, se puede escribir, leer o ambos. Los archivos tienen nombres, atributos, uno de los cuales es el tipo de archivo:
* directorio: un archivo que actúa como un contenedor de entradas de directorio, que identifica otros archivos (algunos de los cuales pueden ser otros directorios anidados). Cuando se discute un archivo en particular, el directorio en el que aparece como entrada es su directorio padre. El directorio principal se puede representar mediante el nombre de ruta de acceso relativa "..".
* enlace físico: una entrada de directorio que asocia un nombre con un archivo existente. Si se admiten varios enlaces físicos, el archivo se elimina después de eliminar el último enlace físico.
* enlace simbólico: una entrada de directorio que asocia un nombre con una ruta de acceso, que puede o no existir.
* archivo regular: un archivo que no es uno de los otros tipos de archivo.
  • nombre de archivo: una cadena de caracteres que nombra un archivo. Los caracteres permitidos, la distinción entre mayúsculas y minúsculas, la longitud máxima y los nombres no permitidos están definidos por la implementación. Los nombres "." (punto) y ".." (punto punto) tienen un significado especial al nivel de la biblioteca.
  • ruta de acceso: secuencia de elementos que identifica un archivo. Comienza con un nombre raíz opcional (por ejemplo, "C:" o "//servidor" en Windows), seguido de un directorio raíz (por ejemplo, "/" en Unix), seguido de una secuencia de cero o más nombres de archivo (todos menos el último deben ser directorios o enlaces a directorios). El formato nativo (por ejemplo, qué caracteres se usan como separadores) y la codificación de caracteres de la representación de cadena de una ruta de acceso (el nombre de ruta de acceso) están definidos por la implementación; esta biblioteca proporciona una representación portátil de rutas.
* ruta de acceso absoluta: una ruta que identifica inequívocamente la ubicación de un archivo.
* ruta de acceso canónica: una ruta absoluta que no incluye enlaces simbólicos, elementos "." o "..".
* ruta de acceso relativa: una ruta que identifica la ubicación de un archivo en relación con alguna ubicación en el sistema de archivos. Los nombres de ruta especiales "." (punto, "directorio actual") y ".." (punto punto, "directorio padre") son rutas relativas.

[editar]Clases

Definido en el archivo de encabezado <filesystem>
Definido en el espacio de nombres filesystem
(C++17)
Representa una ruta de acceso.
(clase)[editar]
Una excepción lanzada cuando hay errores en el sistema de archivos.
(clase)[editar]
Una entrada de directorio.
(clase)[editar]
Un iterador al contenido del directorio.
(clase)[editar]
Un iterador al contenido de un directorio y sus subdirectorios.
(clase)[editar]
Representa el tipo y permisos de archivo.
(clase)[editar]
(C++17)
Información sobre el espacio libre y disponible en el sistema de archivos.
(clase)[editar]
(C++17)
El tipo de un archivo.
(enum)[editar]
(C++17)
Identifica los permisos del sistema de archivos.
(enum)[editar]
Especifica la semántica de las operaciones de permisos.
(enum)[editar]
Especifica la semántica de las operaciones de copia.
(enum)[editar]
Opciones para iterar sobre el contenido de un directorio.
(enum)[editar]
Representa los valores de tiempo de un archivo.
(typedef)[editar]

[editar]Funciones no miembro

(C++17)
Compone una ruta de acceso absoluta.
(función)[editar]
Compone una ruta de acceso canónica.
(función)[editar]
Compone una ruta de acceso relativa.
(función)[editar]
(C++17)
Copia archivos o directorios.
(función)[editar]
(C++17)
Copia el contenido de un archivo.
(función)[editar]
Copia un enlace simbólico.
(función)[editar]
Crea un directorio nuevo.
(función)[editar]
Crea un enlace físico.
(función)[editar]
Crea un enlace simbólico.
(función)[editar]
Devuelve o establece el directorio de trabajo actual.
(función)[editar]
(C++17)
Verifica si una ruta de acceso se refiere a un objeto existente del sistema de archivos.
(función)[editar]
(C++17)
Verifica si dos rutas de acceso se refieren al mismo objeto de sistema de archivos.
(función)[editar]
(C++17)
Devuelve el tamaño de un archivo.
(función)[editar]
Devuelve el número de enlaces físicos que se refieren a un archivo específico.
(función)[editar]
Capta o establece el tiempo de la última modificación de datos.
(función)[editar]
Modifica los permisos de acceso a archivo.
(función)[editar]
Obtiene el objetivo de un enlace simbólico.
(función)[editar]
(C++17)(C++17)
Remueve un archivo o directorio vacío.
Remueve un archivo o directorio y todo su contenido recursivamente.
(función)[editar]
(C++17)
Mueve o renombra un archivo o directorio.
(función)[editar]
Cambia el tamaño de un archivo regular por truncamiento o relleno con ceros.
(función)[editar]
(C++17)
Determina el espacio libre disponible en el sistema de archivos.
(función)[editar]
(C++17)(C++17)
Determina los atributos de archivo.
Determina los atributos de archivo, verificando el objetivo del enlace simbólico.
(función)[editar]
Devuelve un directorio adecuado para archivos temporales.
(función)[editar]
Tipos de archivo
Verifica si una ruta de acceso dada se refiere a un dispositivo de bloques.
(función)[editar]
Verifica si la ruta de acceso dada se refiere a un dispositivo de caracteres.
(función)[editar]
Verifica si la ruta de acceso dada se refiere a un directorio.
(función)[editar]
(C++17)
Verifica si la ruta de acceso dada se refiere a un archivo o directorio vacío.
(función)[editar]
(C++17)
Verifica si la ruta de acceso dada se refiere a una tubería con nombre (named pipe).
(función)[editar]
(C++17)
Verifica si el argumento se refiere a "otro" tipo de archivo.
(función)[editar]
Verifica si el argumento se refiere a un archivo regular.
(función)[editar]
(C++17)
Verifica si el argumento se refiere a un socket de comunicación interproceso con nombre.
(función)[editar]
(C++17)
Verifica si el argumento se refiere a un enlace simbólico.
(función)[editar]
Verifica si se conoce el estado de archivo.
(función)[editar]

[editar]Notas

El uso de esta biblioteca puede requerir opciones adicionales del compilador/enlazador. La implementación de GNU requiere enlazar con -lstdc++fs y la implementación de LLVM requiere enlazar con -lc++fs.

[editar]Véase también

Documentación de C++ para ET Sistema de Archivos
close