setbuf
|
Definido en el encabezado
<stdio.h>
|
||
|
void
setbuf
(
FILE
*
stream,
char
*
buffer
)
;
|
(hasta C99) | |
|
void
setbuf
(
FILE
*
restrict
stream,
char
*
restrict
buffer
)
;
|
(desde C99) | |
|
#define BUFSIZ /*unspecified*/
|
||
Establece el búfer interno para usar en operaciones de flujo. Debe tener al menos
BUFSIZ
caracteres de longitud.
Si
buffer
no es nulo, equivalente a
setvbuf
(
stream, buffer,
_IOFBF
,
BUFSIZ
)
.
Si
buffer
es nulo, equivalente a
setvbuf
(
stream,
NULL
,
_IONBF
,
0
)
, lo cual desactiva el almacenamiento en búfer.
Contenidos |
Parámetros
| stream | - | el flujo de archivo al que establecer el búfer |
| buffer | - | puntero a un búfer para que lo use el flujo. Si se proporciona un puntero nulo, se desactiva el almacenamiento en búfer |
Valor de retorno
Ninguno.
Notas
Si BUFSIZ no es el tamaño de búfer apropiado, setvbuf puede utilizarse para cambiarlo.
setvbuf
también debería usarse para detectar errores, ya que
setbuf
no indica éxito o fracaso.
Esta función solo puede utilizarse después de que
stream
haya sido asociado con un archivo abierto, pero antes de cualquier otra operación (excepto una llamada fallida a
setbuf
/
setvbuf
).
Un error común es establecer el búfer de stdin o stdout a un arreglo cuyo tiempo de vida finaliza antes de que el programa termine:
Ejemplo
setbuf
puede utilizarse para desactivar el almacenamiento en búfer en flujos que requieren salida inmediata.
Salida:
ab
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.21.5.5 La función setbuf (p: 225)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.21.5.5 La función setbuf (p: 307-308)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.19.5.5 La función setbuf (p: 273)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.9.5.5 La función setbuf
Véase también
|
establece el búfer y su tamaño para un flujo de archivo
(función) |
|
|
Documentación de C++
para
setbuf
|
|