_setmode
Define o modo de conversão de arquivo.
int _setmode (
int fd,
int mode
);
Parâmetros
fd
Descritor de arquivo.mode
Novo modo de tradução.
Valor de retorno
Se for bem sucedida, retorna o modo de conversão anterior.
Se forem passados parâmetros inválidos para esta função, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, esta função retorna – 1 e define errno para um EBADF, indicando um descritor de arquivo inválido, ou EINVAL, que indica uma inválido mode argumento (nenhuma _O_TEXT nem _O_BINARY).
Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.
Comentários
The _setmode função define como mode o modo de conversão de arquivo fornecido pelo fd. O modo deve ser uma das duas constantes de manifesto: _O_TEXT ou _O_BINARY. _O_TEXT Define o modo de texto (convertida). Return–line de carro (CR-LF) combinações de alimentação são transformadas em uma única linha caractere feed na entrada.Caracteres de feed de linha são convertidos em combinações de CR-LF na saída._O_BINARY Define o modo binário (não traduzido), na qual essas conversões são suprimidas.
_setmode normalmente é usado para modificar o modo de tradução padrão stdin e stdout, mas você pode usá-la em qualquer arquivo. Se você aplicar _setmode para o descritor de arquivo para um fluxo, ligue para _setmode antes de executar quaisquer operações de entrada ou saídas no fluxo.
Requisitos
Rotina |
Cabeçalho necessário |
Cabeçalhos opcionais |
---|---|---|
_setmode |
<io.h> |
<fcntl.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_setmode.c
// This program uses _setmode to change
// stdin from text mode to binary mode.
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main( void )
{
int result;
// Set "stdin" to have binary mode:
result = _setmode( _fileno( stdin ), _O_BINARY );
if( result == -1 )
perror( "Cannot set mode" );
else
printf( "'stdin' successfully changed to binary mode\n" );
}
'stdin' successfully changed to binary mode