2011-01-19 18 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

任意のアイデアを返しますか?あなたは、ファイルの末尾に求めている

lseek(fileID, -1, SEEK_END); 

答えて

7

は確かのlseekへの呼び出しは()である必要があり、あなたは1バイト短くする必要があります。

+3

サイズがゼロのファイル、つまり 'lseek'からの戻り値をチェックして失敗しなかったことを確認してください。 –

関連する問題