gpt4 book ai didi

c - 使用 fopen 读取文件 : is a char** returned correctly?

转载 作者:行者123 更新时间:2023-11-30 16:56:01 25 4
gpt4 key购买 nike

我在获取 char* 内容中的正确数据时遇到问题。我想从文件中读取其内容,用它填充缓冲区,并能够将 char** 内容引用到缓冲区的地址。然后从 main 中的 char* 内容获取其数据...到目前为止我做错了什么?

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

void load(FILE* file, char** content, size_t* length);

int main()
{
FILE* file = fopen("file.txt", "r");

char* content;
size_t length = 0;

load(file, &content, &length);

printf("%s\n", content);
printf("%lu\n", length);
}

void load(FILE* file, char** content, size_t* length)
{
char buffer[30];

fgets(buffer, 30, file);
*content = buffer;
*length = strlen(buffer);

}

最佳答案

您的加载函数应如下所示:

void load(FILE* file, char** content, size_t* length)
{
char *buffer;
buffer = (char*)malloc(30*sizeof(char));

fgets(buffer, 30, file);
*content = buffer;
*length = strlen(buffer);

}

关于c - 使用 fopen 读取文件 : is a char** returned correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075103/

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