我正在创建一个程序,该程序应该创建用户输入的人员列表的结构;我遇到的唯一问题是让用户输入数据出现在文本文件中。有人知道怎么做吗?下面是代码:用户输入到文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct person{
char name[20];
int age;
struct person *next_ptr;
} PERSON;
int main (void){
struct person PERSON;
FILE *fp;
char ans, ch;
int ppl=0;
fp=fopen("person_struct", "w");
if(fp != NULL){
while(ppl<25){
printf("Would you like to add a person to the list? [y/n] ");
scanf("%c", &ans);
if(ans == 'y') {
printf("\nEnter a name:\n");
scanf("%s", PERSON.name);
fprintf(fp, "%s",PERSON.name);
printf("\nEnter age:\n");
scanf("%i", &PERSON.age);
fprintf(fp, " %i\n", PERSON.age);
}
else {
ppl=25;
}
ppl++;
}
fclose(fp);
}
printf("\n\n\n");
system("pause");
return 0;
}
...,为什么是否需要&符号?如果您要解释这一点,请确保完全解释它,以免人们感到困惑,并开始在'scanf(“%s”,PERSON.name);'中的PERSON.name之前添加&符号一个指针。一个不太多余的方法是链接到[scanf手册](http://pubs.opengroup.org/onlinepubs/007904975/functions/fscanf.html)并询问“哪个类型对应于'%i '格式说明符?“。 – Sebivor 2013-03-19 02:59:58
仍然无法使用;当我添加符号时,该程序在进入年龄之后崩溃。 – user2184761 2013-03-19 03:00:13
@modifiablelvalue是的,你是正确的我应该加上这一点很重要这里 – 2013-03-19 03:02:33