fprintf读不入数据
if((hp=fopen("data1.txt","w"))==NULL)
{
printf("open error");
exit(0);
}
struct sell data;
printf("销售登记(书号、单价、数量、小计、销售日期)\n");
scanf("%d %d %d %d %d %d %d",&data.num,&data.price1,&data.count1,&data.total,&data.date[0],&data.date[1],&data.date[2]);
fprintf(hp,"%d %d %d %d %d %d %d",data.num,data.price1,data.count1,data.total,data.date[0],data.date[1],data.date[2]);
为什么都不如数据啊
[解决办法]
其实数据已经读入标准输入流stdin里了
你的fprintf定向输出的有问题,把hp改成stdout就可以看到你输入的数了。
我帮你写了一个类似的文件,你参考一下,自己动手改。
建议你看看文件那几种读取,打开方式的区别。
/*创建一个文件夹,并往里面输入内容*/
#include <stdio.h>
int main()
{
FILE *fp;
char ch, filename[10];
printf("请输入想创建的文件名\n");
scanf("%s", filename);
if ((fp = fopen(filename, "w")) == NULL)
{
printf("cannot open file\n");
exit(0);
}
ch = getchar();//接收执行scanf语句最后输入的回车符
printf("请输入文件内容,并以#结束\n");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
putchar(ch);
ch = getchar();
}
putchar('\n');
fclose(fp);
return 0;
}