我正在尝试使用fstream写入文件,但是我的代码无法正常工作。您能帮我做错什么吗?
void mem_test()
{
fstream filepointer;
string buffer;
if ( filepointer.is_open() )
{
filepointer.open("test.t", ios::in | ios::out | ios::binary);
getline(filepointer, buffer);
getline(filepointer, buffer);
filepointer << "TEST!" << endl;
}
filepointer.close();
}
我的文件test.t(在Linux中读写文件的权限):
Example Line 1
Example Line 2
Example Line 3
Example Line 4
谢谢!
最佳答案
您正在实际打开文件之前检查文件是否已打开,因此应为:
void mem_test()
{
fstream filepointer;
string buffer;
filepointer.open("test.t", ios::in | ios::out | ios::binary);
if (filepointer.is_open())
{
getline(filepointer, buffer);
getline(filepointer, buffer);
filepointer << "TEST!" << endl;
filepointer.close();
}
}