|
<FONT size=3> 侯先生您好, 我是浙江大学城市学院的学生。
在看您的Essential C++一书时有道例题不能通过,
后来到网上查了一下资料,发现已经有人遇到过这
个问题了(中文版P33),但没有人能完整地解决它。
即:
fstream ioFile("test.txt",ios_base::in|ios_base::app);
(这道题的问题相信您一定还记得)。
已有人建议改成
fstream ioFile("test.txt",ios_base::in|ios_base:ut|ios_base::app);
其它均不变。 这样虽然能正常地读文件,但仍不能写。
经过几次试验后, 我发现将“写”操作置于“读”操作之前, 这样就可以完全
实现程序的本意了。
附上我的实验代码如下:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{
fstream ioFile("test.txt",ios_base::in|ios_base:ut|ios_base::app);
if ( !ioFile ) {
cerr << "error!" ;
return;
}
string s1;
ioFile << "new line" << endl;
ioFile.seekg(0);
ioFile >> s1;
cout << s1;
ioFile.close();
}
不知这样修改是否正确?如果正确,那是由于什么原因呢?希望得到您的答复。您的鼓励我很在意!
-----浙江大学城市学院 winAPI</FONT> |
|