gpt4 book ai didi

c - fileno() 和大于 2gb 的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:59 26 4
gpt4 key购买 nike

我正在处理巨大的文件。 (>>>2GB)。我的问题是,如果文件大于 sizeof(int),在文件描述符上使用 fileno() 是否安全?

这里是一个简短的代码片段:

#define  _FILE_OFFSET_BITS  64
#include <stdio.h>
#include <inttypes.h>


int readstuff(FILE *fp,uint64_t seekpoint, uint64_t seekwidth) {
int j;
char buf[seekwidth];

if (pread(fileno(fp),buf,seekwidth,seekpoint)!=-1) {
/* do stuf */
return 1;
}
else {
return 2;
}
}

int main() {
FILE *FP;

FP=fopen("/testfile","r");
readstuff(FP,0,10000);
}

最佳答案

fileno() 返回的文件描述符是一个 int,无论它用于打开的文件大小如何。

关于c - fileno() 和大于 2gb 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com