在用C++中的ofstream类时,在读写文件时,因为习惯原因,我一般直接在程序中创建文件目录和文件名,这次吃了一次亏,希望后面的同志不要在上当了,具体内容是这样的:
贴一段代码(代码仅是为了展示,不具有特殊意义):
string name("e:\\test.txt");
ofstream out(name.c_str(),ios::app);
if(out.is_open())
{
out << "This is a line.\n";
out.close();
out.clear();
}
这段代码本意我是为了测试文件模式app是否正常工作(windows环境下),发现没什么问题,可是到了工程里面就出现问题了(linux环境,相应路径更改,比如/log/test.txt),原因是我默认C++会自动创建路径(其实只会自动创建文件),导致工程上调BUG调了好长时间,这个小错误以后还是少犯,尽管不起眼,可是真遇到了还真让人一时找不到错误!