setbuf
|
Défini dans l'en-tête
<stdio.h>
|
||
|
void
setbuf
(
FILE
*
stream,
char
*
buffer
)
;
|
(jusqu'à C99) | |
|
void
setbuf
(
FILE
*
restrict
stream,
char
*
restrict
buffer
)
;
|
(depuis C99) | |
|
#define BUFSIZ /*unspecified*/
|
||
Définit le tampon interne à utiliser pour les opérations de flux. Il doit avoir une longueur d'au moins
BUFSIZ
caractères.
Si
buffer
n'est pas nul, équivalent à
setvbuf
(
stream, buffer,
_IOFBF
,
BUFSIZ
)
.
Si
buffer
est nul, équivalent à
setvbuf
(
stream,
NULL
,
_IONBF
,
0
)
, ce qui désactive la mise en mémoire tampon.
Table des matières |
Paramètres
| stream | - | le flux de fichier auquel définir le tampon |
| buffer | - | pointeur vers un tampon pour le flux à utiliser. Si un pointeur nul est fourni, la mise en tampon est désactivée |
Valeur de retour
Aucun.
Notes
Si BUFSIZ n'est pas la taille de tampon appropriée, setvbuf peut être utilisé pour la modifier.
setvbuf
devrait également être utilisé pour détecter les erreurs, car
setbuf
n'indique pas le succès ou l'échec.
Cette fonction ne peut être utilisée qu'après que
stream
a été associé à un fichier ouvert, mais avant toute autre opération (à l'exception d'un appel échoué à
setbuf
/
setvbuf
).
Une erreur courante consiste à définir le tampon de stdin ou stdout sur un tableau dont la durée de vie se termine avant la fin du programme :
Exemple
setbuf
peut être utilisé pour désactiver la mise en mémoire tampon des flux nécessitant une sortie immédiate.
Sortie :
ab
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.21.5.5 La fonction setbuf (p. 225)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.21.5.5 La fonction setbuf (p: 307-308)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.19.5.5 La fonction setbuf (p. 273)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 4.9.5.5 La fonction setbuf
Voir aussi
|
définit le tampon et sa taille pour un flux de fichier
(fonction) |
|
|
Documentation C++
pour
setbuf
|
|