C 如何添加持续请求用户输入并将所有输入保存到文件

C 如何添加持续请求用户输入并将所有输入保存到文件,c,C,编辑:问题解决了!谢谢大家 应该这样做(我在代码中嵌入了关于问题的注释) 我看到两个问题: 在每个循环中将i设置为零: do { int i=0; 因此,所有读取都将转到数组索引零。将初始化移出循环: int i=0; do { 因此,第一条记录将存储在数组索引0处,第二条记录存储在数组索引1处,依此类推 此外,在写入文件时需要一个循环。目前你只写了一条记录。要写入所有记录,请执行以下操作: for (int j = 0; j<i; ++j) { fprintf(pat

编辑:问题解决了!谢谢大家

应该这样做(我在代码中嵌入了关于问题的注释)

我看到两个问题:

在每个循环中将
i
设置为零:

do
{
    int i=0;
因此,所有读取都将转到数组索引零。将初始化移出循环:

int i=0;
do
{
因此,第一条记录将存储在数组索引0处,第二条记录存储在数组索引1处,依此类推

此外,在写入文件时需要一个循环。目前你只写了一条记录。要写入所有记录,请执行以下操作:

for (int j = 0; j<i; ++j)
{
    fprintf(patientfile," %s\t%s \n ", arr_patient[j].fnamn,arr_patient[j].lnamn);
    fprintf(patientfile," %d \n",arr_patient[j].birthdate);
    fprintf(patientfile," %d \n",arr_patient[j].bildref);
}

for(int j=0;jAnd
arr_patient
是什么以及如何声明的?您能发布一个完整的代码示例和程序输入示例吗?@KamilCuk Ooh,sry没有提到这一点(愚蠢的我)。数组声明为“Pat arr_patient[Max],其中Max定义为5000和“Pat”“实际上是一个typedefed结构,Pat=struct patient。整个代码本身相当大(大约200行),所以一开始在上传时犹豫SimonDoppler,但如果你坚持的话,我可以上传。似乎你只向文件写入一次(对于
I=0
)-你需要一个循环…@4386427 while循环不够吗?或者我也需要for循环吗?for循环不是预定次数吗?如果是这样,那就行不通了,因为我希望用户随时退出循环。
int i=0;
do
{
for (int j = 0; j<i; ++j)
{
    fprintf(patientfile," %s\t%s \n ", arr_patient[j].fnamn,arr_patient[j].lnamn);
    fprintf(patientfile," %d \n",arr_patient[j].birthdate);
    fprintf(patientfile," %d \n",arr_patient[j].bildref);
}