Сообщение Re[6]: Непонятная ошибка при закрытии дескриптора файла от 28.09.2014 17:02
Изменено 28.09.2014 17:25 Zhendos
Здравствуйте, skl, Вы писали:
skl>Но с буфером-то я произвожу после чтения кое-какие манипуляции (этот код убран мной в форуме) и мне желательно чтобы строка нулем заканчивалась, и я не уверен что после чтения read в строке будет нуль в конце, поэтому и забиваю нулями буфер заранее.
skl>Вообще в данном случае наверное лучше инициализировать так:
skl>char buf_barcode[150] = { 0 };
skl>Но это к теме не относится.
В таком случае правильнее делать так
зачем занулять, 150 байт, если нужно занулить 1.
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>Но это к теме не относится.
В таком случае правильнее делать так
зачем занулять, 150 байт, если нужно занулить 1.
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.