如何使用lseek读取文件的最后一个字符

时间:2011-01-19 07:07:12

标签: c++ unix system-calls

我正在尝试使用lseek以相反的顺序读取文件中的字符。

到目前为止,我有:

 int finished = 1;
 char temp[1];

    while (finished > 0) {

 lseek(fileID,0,2);

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

 cout << temp[0];

    }

但是read总是返回0。

关于该怎么做的任何想法?

1 个答案:

答案 0 :(得分:7)

当然,对lseek()的调用应该是

lseek(fileID, -1, SEEK_END);

您正在寻找文件的末尾,并且您需要缩短一个字节。