read

Autres langues

Langue: ru

Autres versions - même langue

Version: July 12, 1997 (openSuse - 09/10/07)

Section: 2 (Appels système)

îáú÷áîéå

read - ÞÉÔÁÅÔ ÉÚ ÆÁÊÌÏ×ÏÇÏ ÄÅÓËÒÉÐÔÏÒÁ

ëòáôëïå ïðéóáîéå


#include <unistd.h>



ssize_t read(int fd, void *buf, size_t count);

ïðéóáîéå

read() ÐÙÔÁÅÔÓÑ ÞÉÔÁÔØ ÉÚ ÆÁÊÌÏ×ÏÇÏ ÄÅÓËÒÉÐÔÏÒÁ fd ÂÁÊÔÙ × ËÏÌÉÞÅÓÔ×Å count × ÂÕÆÅÒ, ÎÁÞÉÎÁÀÝÉÊÓÑ ÐÏ ÁÄÒÅÓÕ buf.

åÓÌÉ count ÒÁ×ÅÎ ÎÕÌÀ, ÔÏ read() ×ÏÚ×ÒÁÝÁÅÔ ÎÏÌØ É ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ. åÓÌÉ count ÂÏÌØÛÅ, ÞÅÍ SSIZE_MAX, ÔÏ ÒÅÚÕÌØÔÁÔ ÎÅÏÐÒÅÄÅÌÅÎ.

÷ïú÷òáýáåíïå úîáþåîéå

ðÒÉ ÕÓÐÅÛÎÏÍ ÚÁ×ÅÒÛÅÎÉÉ ×ÏÚ×ÒÁÝÁÅÔÓÑ ËÏÌÉÞÅÓÔ×Ï ÂÁÊÔ, ËÏÔÏÒÙÅ ÂÙÌÉ ÐÒÏÞÉÔÁÎÙ (ÎÏÌØ ÏÚÎÁÞÁÅÔ ËÏÎÅà ÆÁÊÌÁ), Á ÐÏÚÉÃÉÑ × ÆÁÊÌÅ Õ×ÅÌÉÞÉ×ÁÅÔÓÑ ÎÁ ÜÔÏ ÚÎÁÞÅÎÉÅ. åÓÌÉ ËÏÌÉÞÅÓÔ×Ï ÐÒÏÞÉÔÁÎÎÙÈ ÂÁÊÔ ÍÅÎØÛÅ, ÞÅÍ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÒÏÛÅÎÎÙÈ, ÔÏ ÜÔÏ ÎÅ ÓÞÉÔÁÅÔÓÑ ÏÛÉÂËÏÊ: ÎÁÐÒÉÍÅÒ, ÍÙ ÍÏÇÌÉ ÞÉÔÁÔØ ×ÂÌÉÚÉ ËÏÎÃÁ ÆÁÊÌÁ, ÉÌÉ ÖÅ ÉÚ ÔÒÕÂÙ, ÉÌÉ Ó ÔÅÒÍÉÎÁÌÁ, ÉÌÉ ÖÅ read() ÂÙÌ ÐÒÅÒ×ÁÎ ÓÉÇÎÁÌÏÍ. ÷ ÓÌÕÞÁÅ ÏÛÉÂËÉ ×ÏÚ×ÒÁÝÁÅÔÓÑ -1, Á errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÄÏÌÖÎÙÍ ÏÂÒÁÚÏÍ. ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÐÏÚÉÃÉÑ ÆÁÊÌÁ ÎÅÏÐÒÅÄÅÌÅÎÁ.

ïûéâëé

EINTR
óÉÓÔÅÍÎÙÊ ×ÙÚÏ× ÂÙÌ ÐÒÅÒ×ÁÎ ÓÉÇÎÁÌÏÍ ÄÏ ÔÏÇÏ, ËÁË ÂÙÌ ÐÒÏÞÉÔÁÎ ÈÏÔÑ ÂÙ ÂÁÊÔ.
EAGAIN
âÙÌ ÚÁÐÒÏÛÅÎ ÎÅÂÌÏËÉÒÕÀÝÉÊ ××ÏÄ-×Ù×ÏÄ Ó ÐÏÍÏÝØÀ O_NONBLOCK, É ÎÅÔ ÄÁÎÎÙÈ, ÎÅÍÅÄÌÅÎÎÏ ÄÏÓÔÕÐÎÙÈ ÄÌÑ ÞÔÅÎÉÑ.
EIO
ïÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ. üÔÏ ÍÏÖÅÔ ÐÒÏÉÚÏÊÔÉ, ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ÐÒÏÃÅÓÓ, ÎÁÈÏÄÑÝÉÊÓÑ × ÆÏÎÏ×ÏÊ ÇÒÕÐÐÅ ÐÒÏÃÅÓÓÏ×, ÐÙÔÁÅÔÓÑ ÞÉÔÁÔØ Ó ËÏÎÔÒÏÌÉÒÕÀÝÅÇÏ ÔÅÒÍÉÎÁÌÁ, É ÉÇÎÏÒÉÒÕÅÔ ÉÌÉ ÂÌÏËÉÒÕÅÔ ÓÉÇÎÁÌ SIGTTIN, ÉÌÉ ÖÅ ÅÇÏ ÇÒÕÐÐÁ ÐÒÏÃÅÓÓÏ× ÏÓÔÁÌÁÓØ ÂÅÚ ÒÏÄÉÔÅÌÑ. üÔÏ ÍÏÖÅÔ ÔÁËÖÅ ÓÌÕÞÉÔØÓÑ, ÅÓÌÉ ÐÒÏÉÚÏÛÌÁ ÎÉÚËÏÕÒÏ×ÎÅ×ÁÑ ÏÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ ÐÒÉ ÞÔÅÎÉÑ Ó ÄÉÓËÁ ÉÌÉ ÌÅÎÔÙ.
EISDIR
fd ÓÓÙÌÁÅÔÓÑ ÎÁ ËÁÔÁÌÏÇ.
EBADF
fd ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÅÓËÒÉÐÔÏÒÏÍ ÆÁÊÌÏ× ÉÌÉ ÎÅ ÏÔËÒÙÔ ÄÌÑ ÞÔÅÎÉÑ.
EINVAL
fd Ó×ÑÚÁÎ Ó ÏÂßÅËÔÏÍ, ÎÅÐÒÉÓÐÏÓÏÂÌÅÎÎÙÍ ÄÌÑ ÞÔÅÎÉÑ.
EFAULT
buf ÕËÁÚÙ×ÁÅÔ ÚÁ ÐÒÅÄÅÌÙ ÄÏÓÔÕÐÎÏÇÏ ÁÄÒÅÓÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á.

íÏÇÕÔ ÔÁËÖÅ ×ÏÚÎÉËÎÕÔØ ÄÒÕÇÉÅ ÏÛÉÂËÉ, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÏÂßÅËÔÁ, Ó×ÑÚÁÎÎÏÇÏ Ó fd. POSIX ÐÏÚ×ÏÌÑÅÔ ÓÉÓÔÅÍÎÏÍÕ ×ÙÚÏ×Õ read, ËÏÔÏÒÙÊ ÂÙÌ ÐÒÅÒ×ÁÎ ÐÏÓÌÅ ÞÔÅÎÉÑ ÐÅÒ×ÏÇÏ ËÕÓËÁ ÚÁÐÒÏÛÅÎÎÙÈ ÄÁÎÎÙÈ, ×ÅÒÎÕÔØ -1 (ÕÓÔÁÎÁ×ÌÉ×ÁÑ errno × EINTR) ÉÌÉ ËÏÌÉÞÅÓÔ×Ï ÕÖÅ ÐÒÏÞÉÔÁÎÎÙÈ ÂÁÊÔ.

óïïô÷åôóô÷éå óôáîäáòôáí

SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3

ïçòáîéþåîéñ

îÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ NFS ÞÔÅÎÉÅ ÎÅÂÏÌØÛÉÈ ÐÏÒÃÉÊ ÄÁÎÎÙÈ ÏÂÎÏ×ÌÑÅÔ ÏÔÍÅÔËÉ ×ÒÅÍÅÎÉ ÔÏÌØËÏ × ÐÅÒ×ÙÊ ÒÁÚ, ÐÏÓÌÅÄÕÀÝÉÅ ÏÐÅÒÁÃÉÉ ÞÔÅÎÉÑ ÎÅ ÄÅÌÁÀÔ ÜÔÏÇÏ. üÔÏ ×ÙÚ×ÁÎÏ ËÜÛÉÒÏ×ÁÎÉÅÍ ÁÔÒÉÂÕÔÏ× Ó ËÌÉÅÎÔÓËÏÊ ÓÔÏÒÏÎÙ, ÐÏÔÏÍÕ ÞÔÏ ÂÏÌØÛÉÎÓÔ×Ï (ÅÓÌÉ ÎÅ ×ÓÅ) ËÌÉÅÎÔÏ× NFS ÐÒÅÄÏÓÔÁ×ÌÑÀÔ ÓÅÒ×ÅÒÕ ÏÂÎÏ×ÌÑÔØ ×ÒÅÍÑ ÄÏÓÔÕÐÁ, Á ÚÁÐÒÏÓÙ ÎÁ ÞÔÅÎÉÅ, ËÏÔÏÒÙÅ ÕÄÏ×ÌÅÔ×ÏÒÑÀÔÓÑ ÉÚ ËÌÉÅÎÔÓËÏÇÏ ËÜÛÁ, ÎÅ ×ÙÚÙ×ÁÀÔ ÏÂÎÏ×ÌÅÎÉÑ ×ÒÅÍÅÎÉ ÄÏÓÔÕÐÁ, ÐÏÔÏÍÕ ÞÔÏ ÄÁÎÎÙÅ ÎÅ ÞÉÔÁÀÔÓÑ Ó ÓÅÒ×ÅÒÁ. óÅÍÁÎÔÉËÁ UNIX ÍÏÖÅÔ ÂÙÔØ ÄÏÓÔÉÇÎÕÔÁ ÚÁÐÒÅÔÏÍ ËÜÛÉÒÏ×ÁÎÉÑ ÁÔÒÉÂÕÔÏ×, ÎÏ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÜÔÏ Õ×ÅÌÉÞÉÔ ÎÁÇÒÕÚËÕ ÎÁ ÓÅÒ×ÅÒ É ÕÍÅÎØÛÉÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.

óíïôòé ôáëöå

readdir(2), write(2), fcntl(2), close(2), lseek(2), select(2), readlink(2), ioctl(2), fread(3).

ðåòå÷ïä

Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999