Exportar (0) Imprimir
Expandir todo
div
EOF
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_set_fmode

Establece el archivo predeterminado de modalidad de traducción para operaciones de E/S de archivos.

errno_t _set_fmode( 
   int mode 
);

[in] mode

El de modalidad de traducción de archivo deseada: _O_TEXT o _O_BINARY.

Devuelve cero si es correcto, un código de error del error. Si mode no es _O_TEXT o _O_BINARY o _O_WTEXT, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, conjuntos errno de esta función a EINVAL y devuelven EINVAL.

La función asigna la variable global de _fmode . Esta variable especifica el archivo predeterminado de modalidad de traducción para las operaciones de E/S _open y _pipedel archivo.

_O_TEXT y _O_BINARY son definidas en Fcntl.h. EINVAL se define en Errno.h.

rutina

Encabezado necesario

encabezado opcional

_set_fmode

<stdlib.h>

<fcntl.h> , <errno.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

// 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");
}
el modo predeterminado es binario
UN L OF TABLE K OF TABLE J OF TABLE H I OF TABLE G OF TABLE F OF TABLE D E IZQUIERDA C OF TABLE B   

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft