调用lseek64后读取文件 - Linux

时间:2010-05-09 14:51:45

标签: c linux file

我正在尝试读取大文件(> 2.0 GB)。 搜索由lseek64完成,然后我尝试使用read(fileHandle,buffer,bufferLength)\ pread64(fileHandle,buffer,bufferLength,offset)读取 - 但都返回-1。

它可能是什么?

提前致谢!

2 个答案:

答案 0 :(得分:0)

你有吗

#define _FILE_OFFSET_BITS 64

在包含syscall标头之前?否则,请显示一些代码。

答案 1 :(得分:-1)

ssize_t count = read(fileHandle, buffer, bufferLength);
if ( count == -1 )
{
 fprintf(stderr, "can't read file: %m\n");
 exit(1);
}