gpt4 book ai didi

c - 为什么 fgets() 返回指向新填充的 char 数组的指针?

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

我可以通过以下方式使用 fgets:

FILE *fp = fopen("text.txt", "r");
if(fp == NULL)
return 1;

char line[50];
fgets(line, 50, fp);

// do more stuff

这会按预期用文件中的字符填充 line,那么为什么 fgets()需要返回指向 line 的指针吗? line 现在包含我需要的数据,那么返回指向它的指针有什么用呢?

最佳答案

因为它记录在 fgets(3) 中在POSIX fgets这样做。

此外,如果您确定它确实返回了一个非 NULL 指针(即它不会失败),您可以将其结果用作其他函数的参数。我认为不测试它是错误的。

顺便说一句,我通常建议使用较新的 POSIX getline它能够处理任意长的行(只要资源允许)——并在成功时返回行的长度。

关于c - 为什么 fgets() 返回指向新填充的 char 数组的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25362145/

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