C++ incorpora las habilidades de lectura y escritura de archivos al estilo C, por medio de la cabecera <cstdio> que incorpora manipulación de entrada/salida genérica de archivos de caracteres. La cabecera <cwchar> incorpora funciones similares para la entrada/salida con caracteres anchos (internacionales).
La forma en C++ de realizar manipulación de E/S en archivos es el uso de las clases [i,o]fstream.
[editar] Manipulación de Archivos
[editar] Acceso a un Archivo
En C++ la manipulación de archivos al estilo C se lleva a cabo con varias funciones que usan como argumentos o retorno una estructura FILE* que representa un manejador o handle que apunta a un flujo de datos, el cual representa el archivo.
| fopen
|
abrir un archivo
|
| freopen
|
abrir un archivo nuevo con el mismo flujo
|
| fflush
|
escribir los contenidos pendientes en el buffer de salida
|
| fclose
|
cerrar un archivo
|
| setbuf
|
inicializar el buffer para un flujo específico
|
| setvbuf
|
inicializar el buffer con tamaño para un flujo específico
|
[editar] Navegación en archivo
| fgetpos
|
obtiene la posición dentro del archivo
|
| ftell
|
obtiene la posición dentro del archivo
|
| fsetpos
|
moverse a una posición dentro del archivo
|
| fseek
|
moverse a una posición dentro del archivo
|
| rewind
|
moverse al inicio de un archivo
|
[editar] Operaciones en el Sistema de Archivos
| remove
|
elimina un archivo
|
| rename
|
renombra un archivo
|
| tmpfile
|
obtiene un puntero a un archivo temporal
|
| tmpnam
|
obtiene un nombre de archivo único
|
[editar] Entrada/Salida de datos
[editar] Entrada/Salida en bruto
| fread
|
leer data de un archivo
|
| fwrite
|
escribir data a un archivo
|
[editar] Entrada/Salida por caracteres
| Caracteres normales (angostos)
|
|
| fgetc, getc
|
extrae un caracter desde un flujo
|
| fgets
|
extrae una cadena de caracteres desde un flujo archivo
|
| fputc, putc
|
escribe un caracter a un flujo
|
| fputs
|
escribe una cadena de caracteres a un flujo archivo
|
| getchar
|
lee un caracter desde stdin
|
| gets
|
lee una cadena de caracteres desde stdin
|
| putchar
|
escribe un caracter a stdout
|
| puts
|
escribe una cadena de caracteres a stdout
|
| ungetc
|
devuelve un caracter a un flujo
|
| Caracteres internacionales (anchos)
|
|
| fgetwc
|
get a wide character from a file stream
|
| fgetws
|
get a wide character string from a file stream
|
| fputwc
|
write a character to a file stream
|
| fputws
|
write a character string to a file stream
|
| getwchar
|
read a character from stdin
|
| putwchar
|
write a character to stdout
|
| ungetwc
|
puts a character back into a file stream
|
[editar] Entrada/Salida formateada
La entrada/salida formateada se realiza por medio de las dos familias de funciones **?scanf** (scan, lectura) y **?printf** (print, impresión). Estas familias de funciones toman como argumento una cadena de texto que contiene códigos y banderas de formato y una lista de una o más variables que son leídas/escritas desde el flujo deseado siguiendo ese formato.
| Caracteres normales (angostos)
|
|
| scanf
|
lectura formateada desde stdin
|
| fscanf
|
lectura formateada desde un archivo
|
| sscanf
|
lectura formateada desde una cadena buffer en memoria
|
| vscanf, vfscanf, vsscanf | similares a las anteriores, con soporte para lista de argumentos variable (C++11 feature)
|
| printf
|
impresión formateada a stdout
|
| fprintf
|
impresión formateada a un archivo
|
| sprintf
|
impresión formateada a una cadena buffer en memoria
|
| snprintf
|
impresión formateada a una cadena buffer con tamaño delimitado en memoria (C++11 feature)
|
| vprintf, vfprintf, vsprintf
|
similares a las anteriores, con soporte para lista de argumentos variable
|
| vsnprintf
|
similar a snprintf pero con soporte para lista de argumentos variable (C++11 feature)
|
| Caracteres internacionales (anchos)
|
|
| wscanf
|
read formatted wide character input from stdin
|
| fwscanf
|
read formatted wide character input from a file stream
|
| swscanf
|
read formatted wide character input from a buffer
|
| vwscanf | read formatted wide character input from stdin using variable argument list (C++11 feature)
|
| vfwscanf | read formatted wide character input from a file stream using variable argument list (C++11 feature)
|
| vswscanf | read formatted wide character input from a buffer using variable argument list (C++11 feature)
|
| wprintf
|
print formatted wide character output to stdout
|
| fwprintf
|
print formatted wide character output to a file stream
|
| swprintf
|
print formatted wide character output to a buffer
|
| vwprintf
|
print formatted wide character output to stdout using variable argument list
|
| vfwprintf
|
print formatted wide character output to a file stream using variable argument list
|
| vswprintf
|
print formatted wide character output to a buffer using variable argument list
|
[editar] Manejo de errores
| clearerr
|
clears errors
|
| feof
|
checks for the end-of-file
|
| ferror
|
checks for a file error
|
| perror
|
displays a string version of the current error to stderr
|