[sisyphus] Q: read()/write() operations of exact size
Dmitry V. Levin
ldv на altlinux.org
Сб Янв 16 00:57:43 UTC 2010
On Sat, Jan 16, 2010 at 06:45:03AM +0600, Michael Pozhidaev wrote:
>
> > Перечитайте man 2 read и man 2 write ещё раз и напишите себе обёртки,
> > которые делают всё что вы хотите.
>
> Надёжного метода, кроме того, чтобы везде всё брать в цикл не
> существует.
Не существует, short read и short write надо всегда иметь в виду.
Есть готовые проверенные обёртки, см. напр.
http://git.altlinux.org/people/ldv/packages/?p=hasher-priv.git;a=blob;f=hasher-priv/fds.c#l134
http://git.altlinux.org/people/ldv/packages/?p=hasher-priv.git;a=blob;f=hasher-priv/child.c#l70
Ну и, конечно, есть стандартные fread(3) и fwrite(3).
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20100116/d674d8a1/attachment-0001.bin>
Подробная информация о списке рассылки Sisyphus