Информация об изменениях

Сообщение Re[6]: Непонятная ошибка при закрытии дескриптора файла от 28.09.2014 17:02

Изменено 28.09.2014 17:25 Zhendos

Здравствуйте, skl, Вы писали:


skl>Но с буфером-то я произвожу после чтения кое-какие манипуляции (этот код убран мной в форуме) и мне желательно чтобы строка нулем заканчивалась, и я не уверен что после чтения read в строке будет нуль в конце, поэтому и забиваю нулями буфер заранее.

skl>Вообще в данном случае наверное лучше инициализировать так:

skl>char buf_barcode[150] = { 0 };


skl>Но это к теме не относится.


В таком случае правильнее делать так
char buf[150];
ssize_t n = read(fd, buf, sizeof(buf) - 1); 
if (n < 0) {
//handle errors
}
buf[n] = '\0';


зачем занулять, 150 байт, если нужно занулить 1.
Re[6]: Непонятная ошибка при закрытии дескриптора файла
Здравствуйте, skl, Вы писали:


skl>Но с буфером-то я произвожу после чтения кое-какие манипуляции (этот код убран мной в форуме) и мне желательно чтобы строка нулем заканчивалась, и я не уверен что после чтения read в строке будет нуль в конце, поэтому и забиваю нулями буфер заранее.

skl>Вообще в данном случае наверное лучше инициализировать так:

skl>char buf_barcode[150] = { 0 };


skl>Но это к теме не относится.


В таком случае правильнее делать так
char buf[150];
const ssize_t n = read(fd, buf, sizeof(buf) - 1); 
if (n < 0) {
//handle errors
}
buf[n] = '\0';


зачем занулять, 150 байт, если нужно занулить 1.