_read
ファイルからデータを読み込みます。
int _read(
int fd,
void *buffer,
unsigned int count
);
パラメーター
fd
開いているファイルを参照するファイル記述子。バッファー
データの格納場所。カウント
最大バイト数。
戻り値
_ 読み取り は各行の復帰とライン フィード (CR-LF) のペアを一つの改行文字と置換されるとファイルになっている バイト数 より少ない数がある場合はファイルがテキスト モードで開いた場合は カウント にかかる時間が短くバイト数を返します。一つの改行文字のみを戻り値としてカウントされます。コントロールはファイル ポインターには影響しません。
関数がファイルの終端に達するとで読み取ろうとすると 0 を返します。fd はファイルが読み取りのために開いていないかファイルを パラメーターの検証 に説明されているように無効なパラメーター ハンドラーが呼び出されます。ロックされます。実行の継続が許可された場合関数の戻り値は EBADF– 1 errno を設定します。
バッファーが null いるように無効なパラメーター ハンドラーが呼び出されます。実行の継続が許可された場合関数の戻り値は EINVAL に -1 と errno 設定されます。
この変更およびそのほかのリターン コードに関する詳細については_doserrnoerrno_sys_errlist と _sys_nerr を参照してください。
解説
_read の関数は fd に関連付けられたファイルから バッファー に バイト数 の最大値を読み込みます。読み取り操作は指定されたファイルに関連付けられているファイル ポインターの現在位置から開始されます。読み取り操作の後に次の未読の文字のファイル ポインターへのポインター。
ファイルがテキスト モードで開いた場合は**_read** がファイルの終端のインジケーターはCtrl キーの文字を検出したときに終了します。ファイルの終端のインジケーターをオフに _lseek を使用します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_read |
<io.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのすべてのバージョン。
使用例
// crt_read.c
/* This program opens a file named crt_read.txt
* and tries to read 60,000 bytes from
* that file using _read. It then displays the
* actual number of bytes read.
*/
#include <fcntl.h> /* Needed only for _O_RDWR definition */
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <share.h>
char buffer[60000];
int main( void )
{
int fh;
unsigned int nbytes = 60000, bytesread;
/* Open file for input: */
if( _sopen_s( &fh, "crt_read.txt", _O_RDONLY, _SH_DENYNO, 0 ) )
{
perror( "open failed on input file" );
exit( 1 );
}
/* Read in input: */
if( ( bytesread = _read( fh, buffer, nbytes ) ) <= 0 )
perror( "Problem reading file" );
else
printf( "Read %u bytes from file\n", bytesread );
_close( fh );
}
型 : crt_read.txt
Line one.
Line two.
出力
Read 19 bytes from file