gpt4 book ai didi

c - 从文件读取7M数据失败

转载 作者:行者123 更新时间:2023-11-30 20:40:01 24 4
gpt4 key购买 nike

我尝试从文件中读取 7M 数据,但失败。当我谷歌搜索时,我发现读取数据没有限制。

下面给出的代码因段错误而失败。

char *buf = malloc(7008991);
FILE *fp = fopen("35mb.txt", "rb");
long long i = 0;
long long j = 0;
while(fgets(buf+i, 1024, fp)) {
i+=strlen(buf);
if(i==7008991)break;
}
printf("read done");
printf("ch=%s\n", buf);

需要一些帮助

最佳答案

如果你想将大文件的内容读入内存,你可以:1.实际阅读2.映射它。

我将介绍如何实际阅读它,并假设使用二进制模式并且没有文本模式困惑。

FILE* fp;
// Open the file
fp = fopen ("35mb.txt", "rb");
if ( fp == NULL ) return -1; // Fail

// Get file length, there are many use to do this like fstat
// TODO: check failure
fseek ( fp, 0, SEEK_END );
flen = ftell ( fp );
fseek ( fp, 0, SEEK_SET );

if ( fread ( buffer, flen, 1, fp ) != 1 ) {
// Fail
}

fclose ( fp );

关于c - 从文件读取7M数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24779904/

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