Cで文字列の2次元配列を読み取るのに問題がありました。名前、趣味の数(H)、趣味の名前のレイアウトのテキストファイルがあります。したがって、配列は趣味の数によって決定されます。
#include <stdio.h>
#include <string.h>
typedef struct{
char name[10];
int H;
char hobbi[20];
} data;
int main(void) {
data person[50];
FILE *input;
char source[]=("data.txt");
inout=fopen(source,"r");
int i=0;
int j;
while(!feof(input)) {
fscanf(input, "%s", person[i].name);
fscanf(input, "%d", person[i].H);
for(j=0; j<=person[i].H; j++){
fscanf(input, "%s", person[i].hobbi[j]);
}
i++;
}
fclose(input);
getchar();
getchar();
return 0;
}
そして私は次のように.txtファイルを持っています:
Jason 3 basketball bowling cycling
Arnold 2 boxing rollerskating
Mary 2 basketball rollerskating
Anne 3 bowling boxing basketball
このプログラムの目的は、趣味の名前を入力すると、その趣味に共通する名前のリストが表示されることです。しかし、最初に、私は入力部分を正しくしようとしています。コードの一部を英語に翻訳したので、コードを壊すような間違いがないことを願っています。どんな助けでも大歓迎です:)