gpt4 book ai didi

c - fgets 函数的第一个参数

转载 作者:太空宇宙 更新时间:2023-11-04 00:24:31 25 4
gpt4 key购买 nike

fgets(s, 10, fp)中,s是从文件“text.txt”开始读取的地址。我说得对吗?

如果是这样,当函数这样声明时,它如何知道 s 指向哪里?我一直认为 s 会是内存中的一个随机空闲位置? 有人可以更深入地解释为什么这段代码是从“text.txt”的开头读取的吗?

我是 C 的新手。

fp = fopen("text.txt", "r");
if (fp != NULL)
{
char *s
printf("content of file:\n");
while ((s = fgets(s, 10, fp)
{
printf("%s", s);
}
fclose(fp);
}

最佳答案

您必须将一个有效指针作为第一个参数传递给 fgets,并且它必须指向至少与第二个参数中指示的内存一样大的内存。

你可以改变

char *s 

char *s = malloc(10);

char s[10];

fgets 背后的代码会将数据从文件复制到您分配的内存中。

关于c - fgets 函数的第一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29356586/

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