Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Establece el modo de traducción de archivos predeterminado para las operaciones de E/S de archivo.
Sintaxis
errno_t _set_fmode(
int mode
);
Parámetros
mode
Modo de traducción de archivos deseado: _O_TEXT o _O_BINARY.
Valor devuelto
Devuelve cero si se ejecuta correctamente; devuelve un código de error si se produce un error. Si mode no _O_TEXT es o _O_WTEXT_O_BINARY , se invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función establece errno en EINVAL y devuelve EINVAL.
Comentarios
La función establece la _fmode variable global. Esta variable especifica el modo de traducción de archivos predeterminado para las operaciones de E/S de archivo _open y _pipe.
_O_TEXT y _O_BINARY se definen en Fcntl.h. EINVAL se define en Errno.h.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
| Routine | Encabezado necesario | Encabezado opcional |
|---|---|---|
_set_fmode |
<stdlib.h> | <fcntl.h>, <errno.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// 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");
}
Default Mode is binary
A B C D E F G H I J K L
Vea también
_fmode
_get_fmode
_setmode
E/S de archivo de modo binario y texto