C解析文件的内容

时间:2011-07-18 10:11:14

标签: c file

我必须解析文件的内容:给出一个字符串作为输入,我必须将字符串中的每个字母搜索到我文件的内容中。所以我的第一次尝试是

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

但是如何确保访问文件中的每个字符?使用

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

如果我的文件内容大于SIZE

,该怎么办?

2 个答案:

答案 0 :(得分:1)

如果您不需要,请不要阅读整个文件。使用read读取一些数据,并为每个读取的字符调用parseChar。重复,直到到达文件末尾。

while (readBytes = read(fd, buffer, BUFFER_LENGTH) > 0)
{
    for (i = 0; i < readBytes; i++)
    {
        parseChar(buffer[i]);
    }
}

答案 1 :(得分:0)

您可以使用ftell确定文件的大小,然后重复调用此函数(每次fp将进入下一个位置),从而可以解析整个文件