C разбирать содержимое файла - PullRequest
0 голосов
/ 18 июля 2011

Мне нужно проанализировать содержимое файла: в качестве входных данных указана строка, и мне нужно искать каждую букву в строке в содержимом моего файла.Итак, моя первая мысль была

while (readBytes = read(fd, buffer, sizeof(char)) > 0);

, но как мне получить доступ к каждому символу, который находится в файле?Достаточно ли использовать

for (i = 0; i < SIZE; i++)
{
   parseChar(buffer[i]);
}

, что если содержание моего файла больше SIZE?

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Не читайте весь файл, если вам не нужно.Считайте некоторые данные с помощью read и вызовите parseChar для каждого прочитанного символа.Повторяйте, пока не дойдете до конца файла.

while (readBytes = read(fd, buffer, BUFFER_LENGTH) > 0)
{
    for (i = 0; i < readBytes; i++)
    {
        parseChar(buffer[i]);
    }
}
0 голосов
/ 18 июля 2011

Вы можете определить размер файла, используя ftell, затем повторно вызывать эту функцию (каждый раз, когда fp будет продвигаться к следующей позиции), таким образом, можно анализировать весь файл.

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