Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
write - zapis do deskryptora pliku
SK/LADNIA
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
OPIS
write zapisuje maksymalnie count bajtow do pliku wskazywanego przez
deskryptor fd. Zapis nastpuje z bufora wskazywanego przez buf. POSIX
wymaga, by read(), ktore moe pojawi si po zakoczeniu write(), zwrocilo
nowe dane. Naley zauway, e nie wszystkie systemy plikow s zgodne z
POSIX.
WARTO ZWRACANA
Po pomylnym zakoczeniu zwracana jest liczba zapisanych bajtow (zero
oznacza nie zapisanie niczego). Po bldzie zwracane jest -1 i
odpowiednio ustawiane errno. Jeli count jest rowne zero, a deskryptor
pliku odnosi si do zwyklego pliku, zostanie zwrocone zero, nie powodujc
adnych innych efektow. Dla plikow specjalnych wyniki s nieprzenone.
B/LDY
EBADF fd nie jest prawidlowym deskryptorem pliku lub nie jest otwarty
dla zapisu.
EINVAL fd jest dowizany do obiektu, ktory nie nadaje si do zapisu.
EFAULT buf jest poza dostpn dla uytkownika przestrzeni adresow.
EFBIG Wykonano prob zapisu do pliku przekraczajc zaleny od
implementacji maksymalny rozmiar pliku lub przekraczajc
maksymalny rozmian pliku dla danego procesu. Ewentualnie,
wystpila proba zapisu na pozycji poza maksymaln dozwolon pozycj
w pliku.
EPIPE fd jest podlczony do potoku, lub gniazda, ktorego koniec
czytajcy jest zamknity. Gdy wystpi taka sytuacja, proces piszcy
rownie otrzyma sygnal SIGPIPE. (Tak wic warto zwracana podczas
zapisu jest widoczna jedynie, gdy program przechwytuje blokuje
lub ignoruje ten sygnal.)
EAGAIN Wybrano nieblokujce we/wy (za pomoc O_NONBLOCK), a do potoku lub
gniazda fd nie mona natychmiast zapisa danych.
EINTR Wywolanie zostalo przerwane sygnalem przed zapisaniem
jakichkolwiek danych.
ENOSPC Na urzdzeniu zawierajcym plik, do ktorego odnosi si fd, nie ma
miejsca na dane.
EIO Podczas modyfikacji i-wzla wystpil niskopoziomowy bld we/wy.
Mog wystpi rownie inne bldy, zalene od rodzaju obiektu podlczonego do
fd.
ZGODNE Z
SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4 dokumentuje dodatkowe kody
bldow 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 zostaly zapisane na
dysku. W rzeczywistoci, w niektorych bldnych implementacjach nie
gwarantuje to nawet, e zostalo zarezerwowane miejsce na dane. Jedynym
sposobem, aby te rzeczy zapewni jest wywolanie 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)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.