在C中保存增量
我需要一些帮助,我正在写C 所以我有这个:在C中保存增量,c,store,C,Store,我需要一些帮助,我正在写C 所以我有这个: int a; int one = 4; int two = 3; printf("If you have done this then write '1', if you have done that write '2' "); scanf("%d" ,&a); if (a=1) { one = one+1; } else if (a=2) { two = two+1 } 所以我要做的是保存增量,以
int a;
int one = 4;
int two = 3;
printf("If you have done this then write '1', if you have done that write '2' ");
scanf("%d" ,&a);
if (a=1)
{
one = one+1;
}
else if (a=2)
{
two = two+1
}
所以我要做的是保存增量,以便下次打开程序时,int 1和int 2的值将根据程序的上次使用情况而改变。
如何执行此操作?启动应用程序时使用fopen/fread/fclose(写入前检查文件句柄是否正确创建) 退出应用程序时使用fopen/fwrite/fclose 如何访问文件?非常基本的功能,请阅读以下内容:
在关闭程序之前,从文件中读取两个变量并将其写入文件
#include <stdio.h>
int main(void)
{
int a;
FILE *fp = fopen("save.txt", "r+"); // File contains two integers 4 3
int one;
int two;
fscanf(fp, "%d %d", &one, &two);
printf("%d %d\n", one, two);
printf("If you have done this then write '1', if you have done that write '2' ");
scanf("%d" ,&a);
if (a==1)
{
one = one+1;
}
else if (a==2)
{
two = two+1;
}
rewind(fp);
fprintf(fp,"%d %d\n", one, two);
}
#包括
内部主(空)
{
INTA;
FILE*fp=fopen(“save.txt”,“r+”);//文件包含两个整数4 3
int-one;
int-2;
fscanf(fp、%d%d、&1和&2);
printf(“%d%d\n”,一,二);
printf(“如果您这样做了,那么写‘1’,如果您这样做了,那么写‘2’”);
scanf(“%d”和“&a”);
如果(a==1)
{
一=一+1;
}
如果(a==2),则为else
{
二=二+1;
}
倒带(fp);
fprintf(fp,“%d%d\n”,一,二);
}
当程序完成处理时,它将与其变量一起从内存中删除。您要实现的目标需要文件处理。请参见本教程-
有几点建议:
1-如果(a==1)
2-始终建议为
if..else if
控制块添加else
块,以处理任何意外输入?那只是。。。错。下一步:#定义真0
一个=
是赋值。两个==
是比较。您的编译器应该就此向您发出警告。如果不是,请使用与您的问题无关的-Wall
。但是如果(a=1)
始终为真,因为您使用了赋值运算符(单个=
)而不是比较运算符(=
)。您需要将此信息保存到一个文件中。下面的答案建议您将I/O归档,它们是正确的,但我认为您应该习惯于编写简单的C程序,然后再返回此问题。找到一个教C语言并适合您的教程页面,并在学习过程中找到一些简单的练习来完成。像这样的练习虽然1/2在数字和字符串表示中都只会增长,但在开发和支持透视图中,只回放文件而不截断仍然是不安全的。是否至少应在fprintf中添加“\n”?