gpt4 book ai didi

c - 使用 for 将数据放入文件中

转载 作者:行者123 更新时间:2023-11-30 16:30:18 25 4
gpt4 key购买 nike

int main()
{
FILE*arq;
char a[500];
int i,f;
arq=fopen("test.txt","w+");
for(i=0;i<5;i++){
printf("Type the name:");
fgets(a,500,stdin);
fprintf(arq,"%s",a);
printf("Enter the age");
fscanf(arq,"%d", f);
fprintf(arq, "%d", f);
}
fclose(arq);
return 0;
}

我无法将姓名和年龄放入文件中,因为输入姓名后它会跳过年龄的输入

最佳答案

首先,你必须给出要填充的变量的地址。其次,您正在从文件中读取数据,该文件在您关闭之前是空的,因此它不会等待来自标准输入的输入。应该是这样的:

fscanf(stdin,"%d", &f);

这将在缓冲区中留下一个“\n”,该缓冲区将由 fgets 读取。为了防止这种情况,请在下一次迭代之前读取换行符:

fgetc(stdin);

这段代码对我有用:

int main()
{
FILE*arq;
char a[500];
int i,f;
arq=fopen("test.txt","w+");

for(i=0;i<5;i++){
printf("Type the name:");
fgets(a,500,stdin);
fprintf(arq,"%s",a);
printf("Enter the age:");
fscanf(stdin,"%d", &f);
fprintf(arq, "%d", f);
fgetc(stdin);
}
fclose(arq);
return 0;
}

关于c - 使用 for 将数据放入文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com