Available in

(1) (1)/cs (1)/de (1)/es (1)/fi (1)/hu (1)/ja (1)/ko (1)/pl (1posix) (2) (2)/de (2)/es (2)/fr (2)/it (2)/ja (2)/ko (2)/nl (2)/pl (2)/ru (2)/zh_CN (2)/zh_TW (2freebsd) (3posix) (9e)

TOC

WRITE(2)                 Podrcznik programisty Linuksa                WRITE(2)



NAZWA

       write - zapis do deskryptora pliku

SKADNIA

       #include <unistd.h>

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

OPIS

       write  zapisuje  maksymalnie  count  bajtw  do pliku wskazywanego przez
       deskryptor fd.  Zapis nastpuje z bufora wskazywanego przez buf.   POSIX
       wymaga,  by  read(),  ktre  moe pojawi si po zakoczeniu write(), zwrcio
       nowe dane. Naley zauway, e nie  wszystkie  systemy  plikw  s  zgodne  z
       POSIX.

WARTO ZWRACANA

       Po  pomylnym  zakoczeniu  zwracana  jest  liczba zapisanych bajtw (zero
       oznacza nie zapisanie niczego). Po bdzie zwracane jest -1 i odpowiednio
       ustawiane  errno.  Jeli count jest rwne zero, a deskryptor pliku odnosi
       si do zwykego pliku, zostanie zwrcone zero, nie powodujc adnych  innych
       efektw.  Dla plikw specjalnych wyniki s nieprzenone.

BDY

       EBADF  fd  nie  jest prawidowym deskryptorem pliku lub nie jest otwarty
              dla zapisu.

       EINVAL fd jest dowizany do obiektu, ktry nie nadaje si do zapisu.

       EFAULT buf jest poza dostpn dla uytkownika przestrzeni adresow.

       EFBIG  Wykonano prb zapisu do pliku przekraczajc  zaleny  od  implemen-
              tacji  maksymalny  rozmiar  pliku  lub  przekraczajc  maksymalny
              rozmian pliku dla  danego  procesu.  Ewentualnie,  wystpia  prba
              zapisu na pozycji poza maksymaln dozwolon pozycj w pliku.

       EPIPE  fd  jest podczony do potoku, lub gniazda, ktrego koniec czytajcy
              jest zamknity. Gdy wystpi taka  sytuacja,  proces  piszcy  rwnie
              otrzyma  sygna  SIGPIPE.  (Tak wic warto zwracana podczas zapisu
              jest widoczna jedynie,  gdy  program  przechwytuje  blokuje  lub
              ignoruje ten sygna.)

       EAGAIN Wybrano nieblokujce we/wy (za pomoc O_NONBLOCK), a do potoku lub
              gniazda fd nie mona natychmiast zapisa danych.

       EINTR  Wywoanie zostao przerwane sygnaem przed zapisaniem jakichkolwiek
              danych.

       ENOSPC Na  urzdzeniu  zawierajcym  plik, do ktrego odnosi si fd, nie ma
              miejsca na dane.

       EIO    Podczas modyfikacji i-wza wystpi niskopoziomowy bd we/wy.

       Mog wystpi rwnie inne bdy, zalene od rodzaju obiektu podczonego do  fd.

ZGODNE Z

       SVr4,  SVID, POSIX, X/OPEN, 4.3BSD. SVr4 dokumentuje dodatkowe kody bdw
       EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO i  ERANGE.  Pod  SVr4  zapis  moe
       zosta   przerwany  w  kadej  chwili,  nie  za  tylko  przed  zapisaniem
       jakichkolwiek danych, zwracajc EINTR.

NOTES

       Pomylne zakoczenie write nie gwarantuje,  e  dane  zostay  zapisane  na
       dysku.   W   rzeczywistoci,  w  niektrych  bdnych  implementacjach  nie
       gwarantuje to nawet, e zostao zarezerwowane miejsce  na  dane.  Jedynym
       sposobem,  aby  te  rzeczy  zapewni jest wywoanie fsync(2) po zapisaniu
       wszytkich danych.

ZOBACZ TAKE

       close(2), fcntl(2), fsync(2),  ioctl(2),  lseek(2),  open(2),  read(2),
       select(2), fwrite(3), writev(3)



Linux 2.0.32                      2001-12-13                          WRITE(2)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.