当试图输出一个整数时,它会输出一个数字数组到一个文件
Posted
技术标签:
【中文标题】当试图输出一个整数时,它会输出一个数字数组到一个文件【英文标题】:When trying to output an integer, to a file it outputs an array of numbers 【发布时间】:2022-01-14 19:47:35 【问题描述】:我正在编写一个函数,该函数将为用户提供从列表中选择项目的选项。 选择选项时,它应该调用专用函数来询问项目的数量,然后将其输出到文件。下面是两个函数。
void pos2()
int choice;
printf("\n Enter The item : ");
scanf("%d", &choice);
switch (choice)
case 1:
apple();
break;
case 2:
editInventory();
break;
case 3:
printf("\n Returning... \n\n");
printf("Returning in 3 seconds...\n");
Sleep(3000);
system("cls");
printMenu();
default:
system("cls");
printf("\ninvalid choice Try again \n");
printMenu();
void apple()
FILE*out=fopen("pos.txt","w");
int amt;
printf("Apple Choosen\n");
printf("Enter the Amount\n");
scanf("%d",&amt);
fprintf(out,"%d",&amt);
在这种情况下,用户现在只能选择 1,这将要求他们输入苹果的数量,然后输入,它会将值保存到名为 pos.txt 的文本文件中。当我输入一个金额时,似乎我得到了地址值或某种数组作为回报。这是文本文件中的输出:
6421716
如果有人可以提供帮助或指导我正确的方向,我将不胜感激。提前致谢
【问题讨论】:
fprintf(out,"%d",&amt);
删除 &
。你的编译器应该会警告你,查看如何打开所有警告。
很遗憾,我没有收到任何警告。我现在就这样做,非常感谢。
【参考方案1】:
好消息,@Passerby (https://***.com/users/17196203/passerby) 在我的问题下评论了解决方案。
这里的问题是我的fprintf(out,"%d",&amt);
中的&
导致输出奇怪的数字。再次感谢所有帮助我解决这个问题的人,并特别感谢 @Passerby 的解决方案。
【讨论】:
以上是关于当试图输出一个整数时,它会输出一个数字数组到一个文件的主要内容,如果未能解决你的问题,请参考以下文章