テキスト ファイルを読み取り、int および string ポインターを介して構造体に割り当てる C プログラムを作成しました。
これが私のプログラムのコードスニペットです:
i = 0;
while(!feof(phoneBook)) {
fscanf(phoneBook, "%d|%s\n", &num, fname);
info[i].phone_num = num;
printf("%d\n", info[i].phone_num);
info[i].first_name = fname;
printf("%s\n", info[i].first_name);
i++;
ctr++;
printf("\nfirst:%s", info[0].first_name);
printf("\nsecond:%s", info[1].first_name);
printf("\nthird:%s\n\n", info[2].first_name);
}
最初の繰り返しで、最初の行を info の 0 インデックスに割り当てます。2 回目の反復では、2 行目をインデックス 1 に割り当て、インデックス 0 を置き換えます。
テキスト ファイルには次の行のみが含まれています (テスト用)。
出力は次のとおりです。
//first iteration
first:first
second: <null>
third: <null>
//second
first:second
second: second
third: <null>
//third
first:third
second: third
third: third
ちなみに、私は自分の構造を次のように宣言しました。
typedef struct{
int id;
char *first_name;
char *last_name;
int phone_num;
} phone_det;
phoneBook はデータ型 phone_det で宣言されています。
どんな形の助けも大歓迎です!私は C を使い始めたばかりで、ポインターについてはまだ少し混乱することがあります。:(