我正在开发一种用 C 编写的文件共享程序。有一个函数可以读取数据文件并将数据存储到字符串中,然后将此字符串返回给主函数,然后将主函数发送回客户端。代码如下所示
char* ListFiles(){
FILE *fp;
char file[30];
char *f;
if((fp=fopen("list","r"))==NULL)
{
...
}
while (!feof(fp))
{
fgets(file,50,fp);
}
fclose(fp);
f=file;
printf("%s",f); //get display!!!
return f;
}
int main(){
char *files;
...
...
files=ListFiles();
printf("%s",files); //nothing display!!
sent();
}
但是,这种方法不起作用。没有任何显示,当然也没有发送任何内容。但我确实在函数 ListFiles() 中得到了正确的显示。我不知道会发生什么。我也使用 strcpy() 但它仍然无法工作。