_setmode

更新 : 2007 年 11 月

ファイルの変換モードを設定します。

int _setmode (
   int fd,
      int mode 
);

パラメータ

  • fd
    ファイル記述子。

  • mode
    新しい変換モード。

戻り値

正常に終了した場合は、直前の変換モードを返します。

この関数に無効なパラメータが渡されると、「パラメータの検証」に説明されているように、無効なパラメータ ハンドラが呼び出されます。実行の継続が許可された場合、この関数は errno を無効なファイル記述子を表す EBADF に設定するか、または _O_TEXT または _O_BINARY 以外の無効な mode 引数を表す EINVAL に設定します。

リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

_setmode 関数は、fd で指定されたファイルの変換モードを mode に設定します。このモードは、_O_TEXT または _O_BINARY という 2 つの記号定数のいずれかにする必要があります。_O_TEXT はテキスト (変換) モードです。CR-LF (キャリッジ リターンとライン フィード) の組み合わせは、入力時に 1 つのライン フィード文字に変換されます。ラインフィード文字は、出力では CR-LF の組み合わせに変換されます。_O_BINARY は、バイナリ (未変換) モードを設定します。この場合、変換は省略されます。

通常、_setmode 関数は、標準入力 (stdin) と標準出力 (stdout) の既定の変換モードを変更するときに使用しますが、すべてのファイルに対して使用できます。_setmode 関数をストリームのファイル記述子に対して使用する場合は、ストリームに対して入出力操作を実行する前に、_setmode 関数を呼び出します。

必要条件

ルーチン

必須ヘッダー

省略可能なヘッダー

_setmode

<io.h>

<fcntl.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

// 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

.NET Framework の相当するアイテム

参照

参照

ファイル処理

_creat、_wcreat

fopen、_wfopen

_open、_wopen

_set_fmode