名前、年齢、性別、情報という形式で人に関するデータを取得する簡単なプログラムを書いています。
[名前: , 年齢: , 性別: , 情報: ] のように表示されます。
これまでの私のコードは次のとおりです。
#include <stdio.h>
int main() {
char name[10];
int age;
char gender[2];
char info[50];
while(scanf("%9[^,],%i,%c,%49[^\n]", name, &age, gender, info) == 4) {
printf("[name: %s, age: %i, gender: %c, info: %s]\n", name, age, gender, info);
}
return 0;
}
そこで、> を使用して出力を別のテキスト ファイルに書き込むことにしました。また、正しく表示されず、] ブラケットが新しい行に表示され、[name: が単独で表示されます。
これは私の入力です:
eliza,7,F,likes animals
bob,9,M,fast at running
sue,6,F,likes painting
出力は次のとおりです。
[name: eliza, age: 7, gender: J, info: likes animals
]
[name:
bob, age: 9, gender: J, info: fast at running
]
[name:
sue, age: 6, gender: J, info: likes painting
]
誰か助けてくれませんか?このようにデータを出力する理由がわかりません。 strstr() を使用して、変数に改行文字が含まれているかどうかを確認してみました。