我写了一个关于猜字谜的C语言程序,怎么把每次输入的数据保存到磁盘文件中?

我写了一个关于猜字谜的C语言程序,怎么把每次输入的数据保存到磁盘文件中?#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main()
{
int i,j,code;
int Random[5];
int Num[5];
char key1,key2;
static int x=0, y=0;
printf(" 猜数字游戏\n");
printf("步骤:\n");
printf("1、请输入不重复四位数");
printf("2、按H键得到详细信息\n");
printf("3、按K键并输入正确密码得到随机数\n");
printf("请输入四位不重复的数:");
for (i = 0; i < 4; i++)
{
scanf("%d", &Num[i]);
//printf("%d", Num[i]);
}//用户输入四位数

srand(time(0));
for (i = 0; i < 4; i++)
{
Random[i] = rand()%10;
//printf("%d", Random[i]);
}//生成四位随机数
printf("\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i == j && Num[i] == Random[j])//判断有几个数字、位置都相同的并返回给计数器
x++;
else if (i != j && Num[i] == Random[j])//判断有几个数字相同,位置不同的
y++;
}
}
printf("提示信息");
printf("(%d,%d)", x, y);
printf("\n");
fflush(stdin);
scanf("%c", &key1);
if (key1 == 'H')//H功能
{
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i == j && Num[i] == Random[j])
printf("数字相同且位置相同的数是 %d", Num[i]);
else if (i != j && Num[i] == Random[j])
printf("数字相同但位置不同的数是 %d", Num[i]);
}
}
}
fflush(stdin);
scanf("%c", &key2);
if (key2 == 'K')//K功能
{
printf("请输入密码:");
scanf("%d", &code);
while (code)
{
if (code != 123)
{
printf("密码错误,请重新输入\n");
scanf("%d", &code, 3);
}
else
{
for (i = 0; i < 4; i++)
printf("%d", Random[i]);
}
}
}
return 0;
}

fsopen 打开或建立文件,fwrite 写文件,fread 读文件,fclose 关闭文件;
FILE* fname=_fsopen( char const* _FileName, char const* _Mode, int _ShFlag );
size_t fwrite( void const* _Buffer, size_t _ElementSize, _ElementCount, FILE* _Stream );
size_t read( void* _Buffer, size_t _ElementSize, size_t _ElementCount, FILE* _Stream );
int fclose( FILE* _Stream );追问

你能看看我这个程序怎么改才能存入磁盘文件吗。我不是主要学这个的,所以基本上不会..

追答

自己好好研究一下数据流是什么?将你要保存的数据做成数据流写入文件,关闭文件就完成保存工作。安全打开文件,将文件流读出来,恢复成你的数据格式,就完成读文件工作了。授渔不授鱼。

追问

恩多谢,我套了一下书上的格式完成了

温馨提示:答案为网友推荐,仅供参考
相似回答