【发布时间】:2012-12-14 12:25:09
【问题描述】:
我正在尝试使用 c++ fstream 类将long 写入文本文件。该文件在执行之前已经在磁盘上创建。我运行以下代码,可以读取初始值但无法保存新值,覆盖。我做错了什么?
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[]) {
long f;
fstream myFile("data.txt", fstream::in|fstream::out);
cout << "f before: " << f << endl;
myFile >> f;
cout << "f after: " << f << endl;
f++;
cout << "f after increment: " << f << endl;
myFile << f;
myFile.close();
return 0;
}
之后,我读取了文件中的值并且它没有改变。我在这里做错了什么?
【问题讨论】:
-
首先将'f'初始化为0。您正在写新的 f 在旧的之后,而不是在同一个地方。