Нужно ли это? Я всегда был нечетким на такого рода вещи, но если у меня есть что-то вроде:C - does read() добавить ' 0'?
char buf[256];
read(fd, buf, 256);
write(fd2, buf, 256);
Есть ли потенциал для ошибки здесь, кроме тех случаев, когда эти функции возвращают -1?
Если бы это было только для чтения 40 символов, было бы ли оно положить \ 0 после него? (И написал бы признать, что \ 0 и остановить? Кроме того, если бы это было читать 256 символов, есть \ 0 после того, как те 256?
№ 'read (2)' не добавляет нулевой ограничитель, даже если он может читать только количество запрошенных байтов. –
Если у вас есть такие сомнения, самый быстрый и надежный способ понять ответ - просто прочитать документацию. Есть онлайн-источники, есть справочные страницы и т. Д. –
Насколько я могу судить, стандарт не комментирует содержимое buf, кроме данных, которые действительно читаются. Может быть, нам нужен [адвокат языка]. Было бы очень необычно, если бы что-то там было. – Random832