关于ofstream::write()的奇怪问题

lifeforu 2005-05-24 11:07:46
m_ofstream.open(name,ios::out , 0) ;
m_ofstream.write(p,nLen);
问题在于如果在write这句设置断点 或者说是单步执行这些操作的时候会提示invalid handle.
但是如果没有断点或是在非调试模式下面则文件写入正常

在网上找了一阵子 到是没发现这样的怪现像 有谁碰到过?指点一下
...全文
524 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeforu 2005-05-24
  • 打赏
  • 举报
回复
如果加判断
if(fos)
fos.write(..);//第一次执行即出错了

我觉得太奇怪了 如果说是代码有问题吧 为什么在非调试下面又是正常的咧?
在收到传输文件请求的时候按文件名open,然后收到之后write,收到结束串时close

再一次检查了代码 好像没啥问题啊
代码比较长 不方便贴出来
useresu 2005-05-24
  • 打赏
  • 举报
回复
你设成追加模式呢?
fos.open("txt.txt", ios::out | ios::app);
tuxw 2005-05-24
  • 打赏
  • 举报
回复
对了,这个帖应该移到 C++ 去
useresu 2005-05-24
  • 打赏
  • 举报
回复
用if(!m_ofstream)

看文件是否打开成功
tuxw 2005-05-24
  • 打赏
  • 举报
回复
我试的怎么没问题(XP 、 VC6+SP6)

#include <iostream.h>
#include <fstream.h>

void main()
{
ofstream fos;
fos.open("txt.txt", ios::out, 0);
//fos.open("txt.txt", ios::out);

for(int i=0; i<5; ++i)
{
fos.write("abc", 3);
}
fos.close();

ifstream fis;
fis.open("txt.txt", ios::in);
cout << fis.rdbuf() << endl;
fis.close();
}
useresu 2005-05-24
  • 打赏
  • 举报
回复
帖错了,不好意思
lifeforu 2005-05-24
  • 打赏
  • 举报
回复
to tuxw(醉书生) : 我曾去掉试过
一般情况下是第二次write的时候
功能是进行文件传输 打开文件后收到就写一下 我跟了好几次都是第二次写的时候出错了

first-chance exception in a.exe (ntdll.dll) :0xc00000008 :invalid handle
tuxw 2005-05-24
  • 打赏
  • 举报
回复
晕了,是我理解错了,还是楼上的发错位置了?
tuxw 2005-05-24
  • 打赏
  • 举报
回复
m_ofstream.open(name,ios::out , 0) ;
将第三个参数 0 去掉看看
useresu 2005-05-24
  • 打赏
  • 举报
回复
list<int>::iterator temp;

for( iter = ilist.begin(); iter != ilist.end(); iter++ )
{
temp = iter++;
if( *iter % 2 != 0 )
{
ilist.erase( temp );
}
//cout<<" " <<*iter;

}
类似这样,但是这样会不去判第一个元素,你可以把第一个元素单独考虑
yjh1982 2005-05-24
  • 打赏
  • 举报
回复
我哪知道,反正我也碰到过就是了.

尤其是调试多线程和dll的时候.
lifeforu 2005-05-24
  • 打赏
  • 举报
回复
to yjh1982(血精灵) why
yjh1982 2005-05-24
  • 打赏
  • 举报
回复
vc6的话,调试程序是会出问题的
lifeforu 2005-05-24
  • 打赏
  • 举报
回复
程序是多线程 不过我在调试的时候都只开了一个客户端

这会儿多数调试的时候在if(fos)处都非法了
mostideal 2005-05-24
  • 打赏
  • 举报
回复
应该是中断不允许在那之中吧。。我没遇到过。。
lifeforu 2005-05-24
  • 打赏
  • 举报
回复
真是奇怪透顶了...有没有谁碰到过这种情况了

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧