用fprintf输入增加文本数据时,输入值结果为数字

callmelb 2018-06-21 08:08:21
程序运行时,会自动输入,后面的“请在输入指令”应该是在输入结束之后再出现。而且输入的值在文本文件为数字






struct Data
{
int num;
char name[20];
int vote;
}worker[];


void zengjia()
{
FILE *fp=fopen("1.data","r");
int i=0,j;
if(fp==NULL ){
printf("打开失败...\n");
exit(0);
}

while(!feof(fp))
{
fscanf(fp,"%d %s %d",&worker[i].num,worker[i].name,&worker[i].vote);
i++;
}
fclose(fp);
FILE *fin=fopen("1.data","a");
j=i+1;
if(fin==NULL ){
printf("打开失败...\n");
exit(0);
}
printf("请输入要增加候选人的信息:序号 姓名 票数(请输入序号为%d)",j);
fprintf(fin,"%4d\t%s\t %d\n",worker[j].num,worker[j].name,worker[j].vote);
fclose(fin);
printf("输入完毕");

}


...全文
222 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2018-06-22
  • 打赏
  • 举报
回复
提供的信息不足,问题也不清晰呢。
建议贴出更多代码
待续_1006 2018-06-22
  • 打赏
  • 举报
回复
fprintf向流中写入数据
fscanf从流中读取数据
棉猴 2018-06-22
  • 打赏
  • 举报
回复
printf("请输入要增加候选人的信息:序号 姓名 票数(请输入序号为%d)",j);
//使用scanf()函数,添加从键盘输入的代码
//将输入保存在worker中
//接下来再使用fprintf()函数将worker的数组写入到文件中
fprintf(fin,"%4d\t%s\t %d\n",worker[j].num,worker[j].name,worker[j].vote);

fprintf()函数的作用是将数据写入到文件中
老马何以识途 2018-06-22
  • 打赏
  • 举报
回复
fprintf已經是往文件中寫了,之前你應該從其他地方得到值,比如用scanf從標準輸入中取得。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧