在C中保存增量

时间:2015-04-22 17:43:12

标签: 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 1和int的值将根据程序的最后用法而改变。 我该怎么做?

3 个答案:

答案 0 :(得分:2)

启动应用程序时使用fopen / fread / fclose(在写入检查之前是否正确创建了FILE句柄)

退出应用程序时使用fopen / fwrite / fclose。

如何访问文件?非常基本的功能,请阅读: http://www.thegeekstuff.com/2012/07/c-file-handling/

答案 1 :(得分:0)

从文件中读取两个变量并在关闭程序之前将其写入文件。

#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);
}  

答案 2 :(得分:0)

当程序完成处理时,它将与内存中的变量一起从内存中删除。你要做什么需要文件处理。请参阅本教程 - http://www.w3schools.in/c/file-handling/

一些建议:

1 - 应该是if (a==1)

2 - 始终建议为else控制块添加if..else if块以处理任何意外输入