C语言 fscanf用法和字符串问题

C语言背景下使用fscanf读取txt字符串内容
代码如下:

#include 
#define nombreEquipe 16
char nbE[nombreEquipe][20];

void recupererNomEquipe(){
  FILE *f = fopen("equipe.txt","r");
  int i,j;
  for(i = 0; i < nombreEquipe; i++){
    fscanf(f, "#%[^#]#\n", nbE[i]);
    printf("%s\n",nbE[i]);
  }
  fclose(f);

  for(j=0; j < nombreEquipe; j++){
    printf("%s\n",nbE[i]);
  }
}

int main(int argc, char *argv[]){
  recupererNomEquipe();
  return 0;
}

然后再是我的txt内容:如下

#Bouledogues#
#crotale#
#Freaks#
#Pirates#
#Mercure#
#Racers#
#Chasers#
#Zelda#
#Ninjas#
#Dudes#
#Surcharge#
#Extraterrestres#
#ouragan#
#Tonnerres#
#Eagles#
#Parrains#

最后是我代码的运行结果:

img

第二次打印的时候,就是一片空白?大大的问号?求解

修改如下,供参考:

#include <stdio.h>
#define nombreEquipe 16
char nbE[nombreEquipe][20];

void recupererNomEquipe() {
    FILE* f = fopen("equipe.txt", "r");
    if (f == NULL){                      //修改
        printf("open file error\n");
        return;
    }
    int i, j;
    for (i = 0; ; i++) {  //(i = 0; i < nombreEquipe; i++) //修改
        if (fscanf(f, "#%[^#]#\n", nbE[i]) != 1) break;   //修改
        printf("%s\n", nbE[i]);
    }
    fclose(f);

    for (j = 0; j < i; j++) { //(j = 0; j < nombreEquipe; j++) //修改
        printf("%s\n", nbE[j]);  //修改 printf("%s\n", nbE[i]);  
    }
}

int main(int argc, char* argv[]) {
    recupererNomEquipe();
    return 0;
}

15行应该是nbE[j]啊,你循环变量是j,不是i了啊兄弟