написать возвращаемое значение c - PullRequest
1 голос
/ 20 января 2011

на машине linux,

по каким причинам запись () или writev () в файл записывает меньше данных, переданных ему в байтах?

Я знаю, что допустимое возвращаемое значение для возврата> 0 и <размер, который вы задаете для вызова записи, но мне любопытно, почему это вообще должно происходить .... </p>

Ответы [ 2 ]

5 голосов
/ 20 января 2011

Существует несколько причин, перечисленных в документации , в том числе:

  • Если write() запрашивает, чтобы было записано больше байтов, чем имеется место (например, ограничение размера файла процесса или физический конец носителя), то только столько байтов, сколько есть места для должно быть написано.

  • Если write() прерван сигналом после успешной записи некоторых данных, он должен вернуть количество записанных байтов.

0 голосов
/ 20 января 2011

Это может произойти, если на томе недостаточно места или пользователь превысил квоту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...