fprintf在C

时间:2015-08-19 18:34:29

标签: c file-io struct

我使用fprintf将用户输入的值存储在文件中。代码没有按预期工作(第一件事是在提示&#34之后;你想继续吗?Y或N:"程序自动获取一些值并继续循环。其次它不存储输入的值更新:我可以让程序提示使用是否继续循环,方法是在%c之前在scanf中放置空格,但仍然没有正确填充文件admin_db.txt。

#include<stdio.h>

typedef struct {

char str[30];
int a[10];

}UNIX;

int main()

{

UNIX admin;
char ch;
FILE *fp;

fp=fopen("admin_db.txt","w+");

while(1)

{
printf("\nEnter the name of admin :  ");
 scanf("%s",&admin.str);

 printf("\nEnter the age of admin : ");
  scanf("%d",&admin.a);

  fprintf(fp,"%s%t%d",admin.str,admin.a);

  printf("\nDo you want to continue ? Y or N :");
   scanf("%c",&ch);

   if(ch=='n' || ch=='N')
     break;

}

fclose(fp);

}

输出:

Enter the name of admin :  Akhil

Enter the age of admin : 23

Do you want to continue ? Y or N :        //Automatically taking some value                                        //                                        other than n or N and continuing loop.
Enter the name of admin :  sukhi

Enter the age of admin : 30

Do you want to continue ? Y or N :
Enter the name of admin :
Enter the age of admin : ^C 

此外,sizeof文件admin_db.txt为0字节。

1 个答案:

答案 0 :(得分:0)

在进行其他输入之前,您必须刷新restart_container.yml。以下是便携式方法:

stdin