这是家庭作业的一部分。
我试图在我的方法 getLine 中读取并返回文件的一行。
char *getLine(FILE *input) {
char line[30];
if(fgets(line, sizeof(line), input)!=NULL)
{
return line;
}else{
return NULL;
}
}
从我所学到的关于指针的内容来看,这似乎可行,但是我无法删除警告消息warning: function returns address of local variable [enabled by default]
。此警告指的是行return line;
。我的任务要求我在编译时没有警告或错误。我看不出我做错了什么。
我发现的大多数帮助都建议为文本行分配 malloc-ing 空间,但我们还没有在课堂上讨论过这一点,尽管我在另一堂课上做过一些。这真的是最好的方法吗?如果是这样,我可以在程序的任何地方释放吗?