我正在编写一个简单的程序,它以这种格式获取有关人员的数据:姓名、年龄、性别、信息
它会像这样显示它们 [name: , age: , gender: , info: ]
到目前为止,这是我的代码:
#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() 检查我的任何变量是否包含换行符。