2011-01-19 65 views
3

我想使用lseek从相反的顺序读取文件中的字符。如何使用lseek读取文件的最后一个字符

到目前为止,我有:

int finished = 1; 
char temp[1]; 

    while (finished > 0) { 

lseek(fileID,0,2); 

finished = read(fileID, &temp, 1); 

cout << temp[0]; 

    } 

不过看了总是返回做什么0

任何想法?

回答

7

当然调用lseek的()应该是

lseek(fileID, -1, SEEK_END); 

您正在寻求文件的末尾,你需要是一个字节短。

+3

小心零大小的文件,即检查`lseek`的返回值以确保它没有失败。 – 2011-01-19 07:34:23

相关问题