Exporter (0) Imprimer
Développer tout
div
eof
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

setbuf

Mise en mémoire tampon du flux de contrôles. Cette fonction est déconseillée ; utilisez setvbuf à la place.

void setbuf(
   FILE *stream,
   char *buffer 
);
stream

Pointeur vers la structure d' FILE .

buffer

mémoire tampon Utilisateur-allouée.

la fonction d' setbuf contrôle la mise en mémoire tampon pour stream. L'argument d' stream doit faire référence à un fichier ouvert qui n'a pas été lu ou n'a pas été écrit. Si l'argument d' buffer est NULL, le flux est non tamponné. Sinon, la mémoire tampon doit pointer vers un tableau de caractères de longueur BUFSIZ, où BUFSIZ est la taille de la mémoire tampon comme défini dans STDIO.H. La mémoire tampon spécifiée par l'utilisateur, au lieu de la mémoire tampon système-allouée par défaut pour le flux donné, est utilisée pour la mise en mémoire tampon d'E/S. Le flux de données d' stderr n'est pas tamponné par défaut, mais vous pouvez utiliser setbuf pour assigner des mémoires tampons à stderr.

setbuf a été remplacé par setvbuf, qui est la routine par défaut pour le nouveau code. setbuf est conservé pour la compatibilité avec le code existant.

routine

en-tête requis

setbuf

<stdio.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

// crt_setbuf.c
// compile with: /W3
// This program first opens files named DATA1 and
// DATA2. Then it uses setbuf to give DATA1 a user-assigned
// buffer and to change DATA2 so that it has no buffer.
 
#include <stdio.h>

int main( void )
{
   char buf[BUFSIZ];
   FILE *stream1, *stream2;

   fopen_s( &stream1, "data1", "a" );
   fopen_s( &stream2, "data2", "w" );

   if( (stream1 != NULL) && (stream2 != NULL) )
   {
      // "stream1" uses user-assigned buffer:
      setbuf( stream1, buf ); // C4996
      // Note: setbuf is deprecated; consider using setvbuf instead
      printf( "stream1 set to user-defined buffer at: %Fp\n", buf );

      // "stream2" is unbuffered
      setbuf( stream2, NULL ); // C4996
      printf( "stream2 buffering disabled\n" );
      _fcloseall();
   }
}
stream1 défini dans la mémoire tampon définie par l'utilisateur sur : 0012FCDC
mise en mémoire tampon stream2 désactivée

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft. Tous droits réservés.