我试图寻找一种解决方案,但找不到。是否可以返回字符串?我想将字符串从下面的函数传递回main。我想传递listofdeatils
字符串。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void readFile();
int main()
{
readFile();
getchar();
printf("%s \n", listofdetails[1]);
getchar();
return 0;
}
void readFile()
{
int i;
FILE *fp;
fp = fopen("specification.txt", "r");
char ** listofdetails;
listofdetails = malloc(sizeof(char*)*6);
for(i=0;i<6;i++)
{
listofdetails[i] = malloc(sizeof(char)*40);
fgets(listofdetails[i], 40, fp);
printf("%s \n", listofdetails[i]);
free(listofdetails[i]);
}
free(listofdetails);
fclose(fp);
}
最佳答案
尝试这个:
void readFile(char listofdetails[6][40]);
int main()
{
char listofdetails[6][40];
readFile(listofdetails);
printf("%s \n", listofdetails[1]);
return 0;
}
void readFile(char listofdetails[6][40])
{
int i;
FILE *fp;
fp = fopen("specification.txt", "r");
for(i=0;i<6;i++)
{
fgets(listofdetails[i], 40, fp);
printf("%s \n", listofdetails[i]);
}
fclose(fp);
}