gpt4 book ai didi

c - 将文本文件读入c中的数组

转载 作者:太空狗 更新时间:2023-10-29 16:29:15 25 4
gpt4 key购买 nike

将文本文件读入动态一维数组的最有效方法是什么?在每次读取字符后重新分配似乎很愚蠢,在每次读取行后重新分配似乎也好不到哪儿去。我想将整个文件读入数组。你会怎么做?

最佳答案

我不太明白你想要什么。你想增量处理文件,从中读取一行,然后放弃它并处理下一行吗?还是要将整个文件读入缓冲区?如果你想要后者,我认为这是合适的(在实际代码中检查 malloc 和 fopen 的 NULL 返回,以确定文件是否存在以及你是否有足够的内存):

FILE *f = fopen("text.txt", "rb");
fseek(f, 0, SEEK_END);
long pos = ftell(f);
fseek(f, 0, SEEK_SET);

char *bytes = malloc(pos);
fread(bytes, pos, 1, f);
fclose(f);

hexdump(bytes); // do some stuff with it
free(bytes); // free allocated memory

关于c - 将文本文件读入c中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/410943/

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