C 函数读取文件并将其存储在数组中

C 函数读取文件并将其存储在数组中,c,arrays,file,C,Arrays,File,我想做一个函数,它接受一个字符串数组,并从一个文件中放入x行数;每行有一个32字符,我做的是先运行文件,得到行数,然后我做了一个在这里不起作用的函数,这是演示 void filArray(char* k,int d,char *tab[]){ char *tab[d]; FILE* fichier = NULL; int i; fichier = fopen(k, "r"); if (fichier != NULL) {for(i=0;i<d;i++) { tab[i]=(char

我想做一个函数,它接受一个字符串数组,并从一个文件中放入x行数;每行有一个32字符,我做的是先运行文件,得到行数,然后我做了一个在这里不起作用的函数,这是演示

void filArray(char* k,int d,char *tab[]){
char *tab[d];
FILE* fichier = NULL;
int i;
fichier = fopen(k, "r");
if (fichier != NULL)
{for(i=0;i<d;i++)
{

   tab[i]=(char *)malloc((32+1)*sizeof(char));
    fgets(tab[i], d, k);
}
fclose(fichier);
    //printf("\n %d", b);

}}
void filArray(char*k,int d,char*tab[]{
字符*制表符[d];
FILE*fichier=NULL;
int i;
fichier=fopen(k,“r”);
if(fichier!=NULL)

{对于(i=0;i
fgets(tab[i],d,k);
-->
fgets(tab[i],33,k);thx您在某个问题上指出,k必须是一个文件,但该选项卡仍然没有数据您正在使用另一个同名变量(
char*tab[d];
)。然后我需要将本地选项卡数组复制到作为参数传递的一般选项卡中?您可以直接使用
char*tab[]
char line[numberOfchar][BUF];  
plist = fopen(textName, "r");
while(fgets(line[i], 34, plist)) {
line[i][strlen(line[i]) - 1] = '\0';
    i++;}
total = i;
for(i = 0; i < total; ++i)
    printf("%s\n", line[i]);