Пытаетесь проверить, пуст ли буфер в C? - PullRequest
0 голосов
/ 23 февраля 2020

, поэтому я пытаюсь проверить, пуст ли буфер, используя C. И я просто хотел, чтобы он закончился, если буфер был пуст в методе return_character. Буду признателен за любую оказанную помощь. Он также должен возвращать символ явно в этом методе, поскольку он объявлен с использованием символа в заголовке функции.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020
char return_character(bufferStruct* buff){
  char a = a;
  // this is where I need the help
…

Если это так ... Так как вы выбрали (char)EOF в качестве маркера конца файла (напоминая Ctrl-Z CP / M), и вы заполняете оставшуюся часть буфера с помощью это, тело функции может быть просто:

    if (buff->alongBuffer == buff->bufferLength) buffer_refill(buff);
    return buff->buffer[buff->alongBuffer++];
0 голосов
/ 24 февраля 2020

Если вы хотите проверить, не содержит ли буфер символов, вы можете использовать функцию strlen () из string.h (убедитесь, что буфер завершен на \ 0 после fread ().

Если вы хотите проверить, не удалось ли mallo c, сравнить указатель с NULL. NULL - это специальное значение, которое указатели указывают на то, что они указывают на что-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...