gpt4 book ai didi

c - 读入文件到字符串

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:58 26 4
gpt4 key购买 nike

我试图将一个文件的内容读入一个字符串,但在为该字符串分配内存时遇到了问题。我正在逐行阅读文件,b/c 我想跳过前两行。

int counter=1;
char *myhtml;
myhtml=calloc(1,10);

while ((read = getline(&line, &len, fp)) != -1)
{
if (counter>2)
{
//printf("%s",line);
myhtml=realloc(myhtml,sizeof(char)*strlen(line));
strcat(myhtml,line);
}
counter++;
}

我将如何为这种函数重新分配内存?

最佳答案

只要你只是读入一个文件,你可以像这样一次为文件分配整个空间:

struct stat statbuf;
stat("testfile", &statbuf);
char *myhtml = calloc(1,statbuf.st_size);

也许在你读完之后释放剩下的部分。哪个更便宜,因为 malloc 非常昂贵

关于c - 读入文件到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31869031/

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