【发布时间】:2013-12-17 13:17:05
【问题描述】:
我有课:
class DataBase{
private:
fstream db_file;
public:
DataBase(){
db_file.open("db.txt", std::ios::in | std::ios::out);
}
void couteverything(){
string line;
if(db_file.good() && db_file.is_open()){
getline(db_file, line);
cout << line;
cout << "ok";
}
}
~DataBase(){
db_file.close();
}
};
还有一个包含一些内容的文件 db.txt。 我想将它输出到控制台,但它不起作用 - 好像文件是空的(屏幕上什么都没有出现)。
【问题讨论】:
-
您的文件是否以换行符开头?
-
当您说屏幕上没有出现任何内容时,是否包括“ok”?如果是这样,那么
db_file.good()返回 false,或者db_file.open()返回 false,或者你没有调用couteverything()。 -
你也可以试试
else { cout << "not ok"; } -
在你的析构函数中放一个 std::clog
-
文件在当前目录吗?
标签: c++ visual-studio-2010 file getline