我必须解析文件的内容:给出一个字符串作为输入,我必须将字符串中的每个字母搜索到我文件的内容中。所以我的第一次尝试是
while (readBytes = read(fd, buffer, sizeof(char)) > 0);
但是如何确保访问文件中的每个字符?使用
是否足够for (i = 0; i < SIZE; i++)
{
parseChar(buffer[i]);
}
如果我的文件内容大于SIZE
?
答案 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将进入下一个位置),从而可以解析整个文件