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

_set_fmode

Définit le fichier par défaut à mode de traduction pour les opérations d'E/S de fichier.

errno_t _set_fmode( 
   int mode 
);
[in] mode

L'à mode de traduction de fichier souhaité : _O_TEXT ou _O_BINARY.

Retourne zéro en cas de réussite, le code d'erreur en cas de échec. si mode n'est pas _O_TEXT ou _O_BINARY ou _O_WTEXT, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si est autorisé à l'exécution de se poursuivre, les ensembles errno de cette fonction à EINVAL et retourne EINVAL.

la fonction définit la variable globale de _fmode . cette variable spécifie le fichier par défaut à mode de traduction pour les opérations _open et _piped'E/S de fichier.

_O_TEXT et _O_BINARY sont définis dans Fcntl.h. EINVAL est défini dans Errno.h.

routine

en-tête requis

en-tête facultatif

_set_fmode

<stdlib.h>

<fcntl.h> , <errno.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

// crt_set_fmode.c
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>     /* for _O_TEXT and _O_BINARY */
#include <errno.h>     /* for EINVAL */
#include <sys\stat.h>  /* for _S_IWRITE */
#include <share.h>     /* for _SH_DENYNO */

int main()
{
   int mode, fd, ret;
   errno_t err;
   int buf[12] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
                   75, 76 };
   char * filename = "fmode.out";

   err = _get_fmode(&mode);
   if (err == EINVAL)
   {
      printf( "Invalid parameter: mode\n");
      return 1;
   }
   else
      printf( "Default Mode is %s\n", mode == _O_TEXT ? "text" :
              "binary");

   err = _set_fmode(_O_BINARY);
   if (err == EINVAL)
   {
      printf( "Invalid mode.\n");
      return 1;
   }
   
   if ( _sopen_s(&fd, filename, _O_RDWR | _O_CREAT, _SH_DENYNO, _S_IWRITE | _S_IREAD) != 0 )
   {
      printf( "Error opening the file %s\n", filename);
      return 1;
   }

   if (ret = _write(fd, buf, 12*sizeof(int)) < 12*sizeof(int))
   {
      printf( "Problem writing to the file %s.\n", filename);
      printf( "Number of bytes written: %d\n", ret);
   }

   if (_close(fd) != 0)
   {
      printf("Error closing the file %s. Error code %d.\n",
             filename, errno);
   }

   system("type fmode.out");
}
le mode par défaut est binaire
B C D G E-F H I J K L   
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.