各位大佬帮看看我的问题呗,谢谢啦

问题是这样的:

我在一个函数中定义了一个静态局部变量:static int x=0;

然后对x的操作是:x++;

然后我利用对二进制文件的操作:

fstream iofile ("D:x的值",ios::in | ios::out | ios::binary);

iofile.write( (char*)&x,sizeof(x));

这样就把x的值存放在磁盘文件里了。

问题:在第一次运行程序后很明显可知x的值为1,若第一次运行完之后,我关闭程序之后,再次打开此程序,在x++之前通过操作:iofile.read( (char*)&x,sizeof(x));
得到x的值,此时x的值为 1 还是 0 呢?

由于我还不知道结果,我还想问问如果是0的话怎么样才能让 x 在第二次运行程序时为 1 呢?
这是我的大学计算机基础作业的一个关键点,想了好久没想出来,各位大佬帮看看吧,万分感谢!

每次程序运行,变量都是重新来过的。
static int x=0;
此时是0
x++是1
然后读取
iofile.read( (char*)&x,sizeof(x));
那么文件里的x是多少,就是多少

如果你希望每次都累加1,那么可以读取后,再++再write

是0,程序关闭了,内存就释放了。想要记住的话,简单的就是写到本地磁盘,启动时再读取就知道前一次运行这个程序时x最后的值了