Подсчет строк файла с использованием файлового дескриптора в C

0
задан Guillem Poy 17 January 2019 в 20:49
поделиться

1 ответ

Вы не выделяете память для miniBuffer, который является массивом char указателей. Что на самом деле не проблема - проблема в том, что в первую очередь это не должен быть массив char указателей. Вам нужно только, чтобы он представлял собой массив символов типа следующего:

char miniBuffer[1];

И еще одно изменение заключается в проверке этого единственного элемента массива на наличие символа \n.

if (miniBuffer[0] == '\n')

Вы можете обнаружить, что было бы более эффективно читать большие куски, увеличив размер массива и используя такие функции, как strchr, чтобы найти любой \n в строке. Вам нужно будет сохранить сумму, возвращаемую read, чтобы вы могли NUL правильно завершить строку.

0
ответ дан Chris Turner 17 January 2019 в 20:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: