在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 } 所以我要做的是保存增量,以

我需要一些帮助,我正在写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 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”?