Вы не выделяете память для miniBuffer
, который является массивом char
указателей. Что на самом деле не проблема - проблема в том, что в первую очередь это не должен быть массив char
указателей. Вам нужно только, чтобы он представлял собой массив символов типа следующего:
char miniBuffer[1];
И еще одно изменение заключается в проверке этого единственного элемента массива на наличие символа \n
.
if (miniBuffer[0] == '\n')
Вы можете обнаружить, что было бы более эффективно читать большие куски, увеличив размер массива и используя такие функции, как strchr
, чтобы найти любой \n
в строке. Вам нужно будет сохранить сумму, возвращаемую read
, чтобы вы могли NUL
правильно завершить строку.