ofstream写不进txt文件的奇怪问题
来源:互联网 发布:状态栏美化软件 编辑:程序博客网 时间:2024/05/22 06:28
double m_b[M][N]={0};
string filePath = "file.txt";
ofstream file(filePath.c_str());
//下面三种都可以写进去
//file<<"i love"<<endl;
//file<< 1.23 <<endl;
//file<< m_b[0][0]<<endl;
//下面这样确一直写不进去
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
{
file<< m_b[i][j]<< " ";
}
}
很奇怪不论" " 里面写什么,txt里面都是空的,而 将file<< m_b[i][j]<< " ";
改成file<< m_b[i][j]<< endl; 时txt不是空的,可以写进去,太奇怪了。
后来发现 我是在这后面设置断点,来查看的,因为没有刷新txt内容,所以没有显示。
STLPort中的实现如下:
_CRTIMP inline basic_ostream<wchar_t, char_traits<wchar_t> >& __cdecl endl(basic_ostream<wchar_t,char_traits<wchar_t> >& _O){_O.put('\n'); _O.flush();return (_O); }
它的工作其实就是输出一个“\n”,不过后面又带了一句flush(),这一句是强制刷新缓冲区的。
如果后面直接写上 file.close()时,txt会有所写进去的内容。
因为fstream.close() 会flush(),添加结束标志。
而endl行标志结束,也会flush()一下,所以这时候设断点查看txt也会出现。
另外引申:
如果每次输出都刷新缓冲区那就会影响到程序的性能,无法使用缓冲区的优点,所以使用的时候考虑是不是在很多地方需要endl,如果可以还是换成"\n"吧
- ofstream写不进txt文件的奇怪问题
- ofstream建立文件问题
- C++里Ofstream写文件的中文问题
- C++里Ofstream写文件的中文问题
- Velocity加载文件的奇怪问题
- .aidl文件注释的奇怪问题
- 解析xml文件遇到奇怪的问题
- 一个奇怪的问题--关于文件输出
- 解析xml文件遇到奇怪的问题
- vc中ifstream ofstream打开txt文件失败
- Prn.txt Con.txt(文件命名的问题)
- 关于生成TXT文件的乱码问题
- R读取txt文件的问题
- Java-读取本地txt文件的问题
- 关于写入txt文件的问题
- 文件操作的奇怪?
- 奇怪的Core文件
- 奇怪的cab_xxxx_x文件
- ios获取内存信息
- 百度知道与搜搜问问推广的优劣势
- LDAP
- 关系型数据库
- ios ARC 非ARC 转换
- ofstream写不进txt文件的奇怪问题
- orcle的xmltype 的处理
- 10 款优秀的在线 JavaScript 工具推荐
- String和Date、Timestamp之间的转换
- form表单的target
- Win32 Series - An Introduction to GDI
- IIS配置错误 由于权限不足而无法读取配置文件
- Ignatius and the Princess III HDU 1028
- jdbc(RowSet离线结果集)