File input/output
El <stdio.h> header proporciona soporte genérico para operaciones de archivo y suministra funciones con capacidades de entrada/salida de caracteres estrechos.
El <wchar.h> header proporciona funciones con capacidades de entrada/salida de caracteres anchos.
Los flujos de E/S se denotan mediante objetos de tipo FILE que solo pueden ser accedidos y manipulados a través de punteros de tipo FILE * . Cada flujo está asociado con un dispositivo físico externo (archivo, flujo de entrada estándar, impresora, puerto serial, etc).
Contenidos |
Tipos
|
Definido en el encabezado
<stdio.h>
|
|
|
tipo de objeto, capaz de contener toda la información necesaria para controlar un flujo de E/S de C
(typedef) |
|
|
tipo de objeto completo no-array, capaz de especificar de forma única una posición y el estado del analizador multibyte en un archivo
(typedef) |
|
Flujos estándar predefinidos
|
Definido en el encabezado
<stdio.h>
|
|
|
expresión de tipo
FILE
*
asociada con el flujo de entrada
expresión de tipo FILE * asociada con el flujo de salida expresión de tipo FILE * asociada con el flujo de salida de error (constante macro) |
|
Funciones
Acceso a archivos |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
(C11)
|
abre un archivo
(función) |
|
(C11)
|
abrir un flujo existente con un nombre diferente
(función) |
|
cierra un archivo
(función) |
|
|
sincroniza un flujo de salida con el archivo real
(función) |
|
|
establece el búfer para un flujo de archivo
(función) |
|
|
establece el búfer y su tamaño para un flujo de archivo
(función) |
|
|
Definido en el encabezado
<wchar.h>
|
|
|
(C95)
|
cambia un flujo de archivo entre E/S de caracteres anchos y E/S de caracteres estrechos
(función) |
Entrada/salida directa |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
lee desde un archivo
(función) |
|
|
escribe a un archivo
(función) |
|
Entrada/salida sin formato |
|
Carácter estrecho |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
obtiene un carácter de un flujo de archivo
(función) |
|
|
obtiene una cadena de caracteres de un flujo de archivo
(función) |
|
|
escribe un carácter a un flujo de archivo
(función) |
|
|
escribe una cadena de caracteres a un flujo de archivo
(función) |
|
|
lee un carácter desde
stdin
(función) |
|
|
(eliminado en C11)
(C11)
|
lee una cadena de caracteres desde
stdin
(función) |
|
escribe un carácter en
stdout
(función) |
|
|
escribe una cadena de caracteres en
stdout
(función) |
|
|
coloca un carácter de vuelta en un flujo de archivo
(función) |
|
Carácter ancho |
|
|
Definido en el encabezado
<wchar.h>
|
|
|
(C95)
|
obtiene un carácter ancho de un flujo de archivo
(función) |
|
(C95)
|
obtiene una cadena ancha de un flujo de archivo
(función) |
|
(C95)
|
escribe un carácter ancho a un flujo de archivo
(función) |
|
(C95)
|
escribe una cadena ancha en un flujo de archivo
(función) |
|
(C95)
|
lee un carácter ancho desde
stdin
(función) |
|
(C95)
|
escribe un carácter ancho en
stdout
(función) |
|
(C95)
|
coloca un carácter ancho de vuelta en un flujo de archivo
(función) |
Entrada/salida formateada |
|
Carácter estrecho |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
(C11)
(C11)
(C11)
|
lee entrada formateada desde
stdin
, un flujo de archivo o un búfer
(función) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
lee entrada formateada desde
stdin
, un flujo de archivo o un búfer
usando una lista de argumentos variables (función) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
imprime salida formateada a
stdout
, un flujo de archivo o un búfer
(función) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
imprime salida formateada a
stdout
, un flujo de archivo o un búfer
usando una lista de argumentos variables (función) |
Carácter ancho |
|
|
Definido en el encabezado
<wchar.h>
|
|
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
|
lee entrada de caracteres anchos formateada desde
stdin
, un flujo de archivo o un búfer
(función) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
lee entrada formateada de caracteres anchos desde
stdin
, un flujo de archivo
o un búfer usando una lista de argumentos variables (función) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
imprime salida de caracteres anchos formateada hacia
stdout
, un flujo de archivo o un búfer
(función) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
imprime salida formateada de caracteres anchos hacia
stdout
, un flujo de archivo
o un búfer usando una lista de argumentos variables (función) |
Posicionamiento de archivos |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
devuelve el indicador de posición actual del archivo
(función) |
|
|
obtiene el indicador de posición del archivo
(función) |
|
|
mueve el indicador de posición del archivo a una ubicación específica en un archivo
(función) |
|
|
mueve el indicador de posición del archivo a una ubicación específica en un archivo
(función) |
|
|
mueve el indicador de posición del archivo al principio en un archivo
(función) |
|
Manejo de errores |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
borra errores
(función) |
|
|
verifica el fin de archivo
(función) |
|
|
verifica si hay un error en el archivo
(función) |
|
|
muestra una cadena de caracteres correspondiente al error actual en
stderr
(función) |
|
Operaciones sobre archivos |
|
|
Definido en el encabezado
<stdio.h>
|
|
|
elimina un archivo
(función) |
|
|
renombra un archivo
(función) |
|
|
(C11)
|
devuelve un puntero a un archivo temporal
(función) |
|
(C11)
|
devuelve un nombre de archivo único
(función) |
Constantes de macro
|
Definido en el encabezado
<stdio.h>
|
|
|
EOF
|
expresión constante entera de tipo
int
y valor negativo
(macro constante) |
|
FOPEN_MAX
|
número máximo de archivos que pueden estar abiertos simultáneamente
(macro constante) |
|
FILENAME_MAX
|
tamaño necesario para un arreglo de
char
para contener el nombre de archivo más largo admitido
(macro constante) |
|
BUFSIZ
|
tamaño del búfer utilizado por
setbuf
(macro constante) |
|
_IOFBF
_IOLBF
_IONBF
|
argumento para
setvbuf
que indica E/S completamente almacenada en búfer
argumento para setvbuf que indica E/S almacenada en búfer por líneas argumento para setvbuf que indica E/S sin búfer (macro constante) |
|
SEEK_SET
SEEK_CUR
SEEK_END
|
argumento para
fseek
que indica búsqueda desde el inicio del archivo
argumento para fseek que indica búsqueda desde la posición actual del archivo argumento para fseek que indica búsqueda desde el final del archivo (macro constante) |
|
TMP_MAX
TMP_MAX_S
(C11)
|
número máximo de nombres de archivo únicos que puede generar
tmpnam
número máximo de nombres de archivo únicos que puede generar tmpnam_s (macro constante) |
|
L_tmpnam
L_tmpnam_s
(C11)
|
tamaño necesario para un arreglo de
char
para contener el resultado de
tmpnam
tamaño necesario para un arreglo de char para contener el resultado de tmpnam_s (macro constante) |
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.21 Entrada/salida <stdio.h> (p: TBD)
-
- 7.29 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: TBD)
-
- 7.31.11 Entrada/salida <stdio.h> (p: TBD)
-
- 7.31.16 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: TBD)
-
- K.3.5 Entrada/salida <stdio.h> (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.21 Entrada/salida <stdio.h> (p: TBD)
-
- 7.29 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: TBD)
-
- 7.31.11 Entrada/salida <stdio.h> (p: TBD)
-
- 7.31.16 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: TBD)
-
- K.3.5 Entrada/salida <stdio.h> (p: TBD)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.21 Entrada/salida <stdio.h> (p: 296-339)
-
- 7.29 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: 402-446)
-
- 7.31.11 Entrada/salida <stdio.h> (p: 456)
-
- 7.31.16 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: 456)
-
- K.3.5 Entrada/salida <stdio.h> (p: 586-603)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.19 Entrada/salida <stdio.h> (p: 262-305)
-
- 7.24 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: 348-392)
-
- 7.26.9 Entrada/salida <stdio.h> (p: 402)
-
- 7.26.12 Utilidades extendidas de caracteres multibyte y anchos <wchar.h> (p: 402)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.9 ENTRADA/SALIDA <stdio.h>
-
- 4.13.6 Entrada/salida <stdio.h>
Véase también
|
Documentación de C++
para
entrada/salida de archivos estilo C
|