C中的2d char数组不会打印出预期的结果

时间:2018-04-14 15:32:27

标签: c string

我必须创建一个二维数组,其中每一行是txt文档中的一行,每列是字符串数。 当我输入printf("%s",text[0]);时,它会打印出txt doc的第一行。 但是每当我想要printf("%s",text[0][0]);时,它打印出txt文档中第一行的第一个字符串,程序就会崩溃! 请提前帮助,谢谢。

  #define maxchar 100
    void input(char text[100][100]){
       FILE *fp;
       char str[maxchar];
       char *filename="C:\\...\\testinput.txt";
       int j,lines=0;

       fp=fopen(filename,"r");
       if(fp == NULL){
          printf("Couldn't find the file:%s",filename);
        }
        else{
            while(fgets(str,maxchar,fp)!=NULL){
                printf("%s",str);
                strcpy(text[lines],str);
                lines++ 
        }
    }
    fclose(fp);
}

0 个答案:

没有答案