_setmode
파일 변환 모드를 설정합니다.
int _setmode (
int fd,
int mode
);
매개 변수
fd
파일 설명자입니다.mode
새 번역 모드입니다.
반환 값
연결에 성공 하면 이전 번역 모드를 반환 합니다.
이 함수에 잘못 된 매개 변수가 전달 되 면 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 하려면이 함수 반환-1 및 집합 수 있으면 errno 은 EBADF, 잘못 된 파일 설명자를 나타냅니다 또는 EINVAL에서 잘못 된 나타내는 mode 인수입니다.
이러한 기능 및 다른 반환 코드에 대 한 자세한 내용은 참조 하십시오. _doserrno, errno, _sys_errlist, 및 _sys_nerr.
설명
_setmode 함수를 설정 mode 변환 모드에서 지정 된 파일의 fd.전달 _O_TEXT 와 mode (번역) 텍스트를 설정 모드입니다.바꿈 (CR-LF) 조합을 캐리지 return–line 한 줄 바꿈 문자 입력을 변환 합니다.줄 바꿈된 문자 출력에서 CR-LF 조합으로 변환 됩니다.전달 _O_BINARY 이러한 변환을 고치지 세트 이진 (변환 되지 않은) 모드입니다.
전달할 수도 있습니다 _O_U16TEXT, _O_U8TEXT, 또는 _O_WTEXT 이 문서에서 나중에 두 번째 예제에서와 같이 유니코드 모드를 사용할 수 있습니다._setmode기본 변환 모드를 수정 하려면 일반적으로 사용 됩니다 stdin 및 stdout, 있지만 모든 파일을 사용할 수 있습니다.적용 하는 경우 _setmode 스트림에 대 한 파일 설명자를 호출 _setmode 입력 또는 출력 스트림에서 작업을 수행 하기 전에.
주의 |
---|
데이터 파일 스트림에 명시적으로 플러시 코드를 사용 하 여 작성 하는 경우 fflush 를 사용 하기 전에 _setmode 의 모드를 변경 합니다.코드를 플러시하지 예기치 않은 동작을 얻을 수 있습니다.스트림에 데이터를 작성 한 경우 코드를 플러시할 필요가 없습니다. |
요구 사항
루틴 |
필수 헤더 |
선택적 헤더 |
---|---|---|
_setmode |
<io.h> |
<fcntl.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성.
예제
// 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" );
}
// crt_setmodeunicode.c
// This program uses _setmode to change
// stdout to Unicode. Cyrillic and Ideographic
// characters will appear on the console (if
// your console font supports those character sets).
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
int main(void) {
_setmode(_fileno(stdout), _O_U16TEXT);
wprintf(L"\x043a\x043e\x0448\x043a\x0430 \x65e5\x672c\x56fd\n");
return 0;