Ваш буфер может переполниться, поэтому вам придется рассчитать максимальный размер сгенерированной строки или просто использовать достаточно большой буфер.
Чтобы записать в файл, вы можете использовать возвращаемое значение sprintf()
:
static char line[256];
int n = sprintf(line, "%d,%d,%d,%ld,%lu\n", ...);
write(fd_csv_data, line, n);
В качестве альтернативы можно использовать более безопасный snprintf()
.
С некоторыми дополнительными проверками:
#define LINESIZE 256
static char line[LINESIZE];
int n = sprintf(line, "%d,%d,%d,%ld,%lu\n", ...);
if (n > 0 && n < LINESIZE) {
write(fd_csv_data, line, n);
}
// else..