2011-07-18 41 views
0

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

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

但我如何确保访问到文件中的每个字符?是否足够使用

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

如果我的文件内容大于SIZE怎么办?

+1

为什么不一次只从文件中读取一个字符,例如,使用'getchar()'? –

回答

0

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

1

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

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