问题是这样的:
我在一个函数中定义了一个静态局部变量: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 呢?
这是我的大学计算机基础作业的一个关键点,想了好久没想出来,各位大佬帮看看吧,万分感谢!
各位大佬帮看看我的问题呗,谢谢啦
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2020-06-09 16:32关注
每次程序运行,变量都是重新来过的。
static int x=0;
此时是0
x++是1
然后读取
iofile.read( (char*)&x,sizeof(x));
那么文件里的x是多少,就是多少如果你希望每次都累加1,那么可以读取后,再++再write
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 Matlab打开默认名称带有/的光谱数据
- ¥50 easyExcel模板 动态单元格合并列
- ¥15 res.rows如何取值使用
- ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
- ¥15 CSP算法实现EEG特征提取,哪一步错了?
- ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
- ¥15 vue3前端取消收藏的不会引用collectId
- ¥15 delphi7 HMAC_SHA256方式加密
- ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
- ¥15 下列c语言代码为何输出了多余的空格