社区
C语言
帖子详情
关于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
打赏
收藏
关于ofstream::write()的奇怪问题
m_ofstream.open(name,ios::out , 0) ; m_ofstream.write(p,nLen); 问题在于如果在write这句设置断点 或者说是单步执行这些操作的时候会提示invalid handle. 但是如果没有断点或是在非调试模式下面则文件写入正常 在网上找了一阵子 到是没发现这样的怪现像 有谁碰到过?指点一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
真是奇怪透顶了...有没有谁碰到过这种情况了
ofstream
奇怪
问题
解决方法
ofstream
奇怪
问题
解决方法 最近使用
ofstream
写数据到文件中出现了一些
奇怪
的
问题
,发现有时候写入的数据和原始数据不一致,经过观察发现,有些地方多了0D这个东西,查字符 表得知是回车符。因此得知可能是自动插入了回车换行。而且每个0D都在0A前面,这样更加表明
ofstream
确实会自动在0A前加入0D以表示win下 的回车换行。 解决方法就是使用二进制方式写入,默认是字节流...
ofstream
写大文件出错
我的程序在运行过程中会同时向磁盘写两个体积很大的二进制文件。文件A大致是240G,文件B大致是480G。两个文件都是用
ofstream
对象来维护的。写操作是通过
ofstream
的
write
成员函数实现的。 现在的
问题
是:每次写文件写到64%左右就会出错,
write
函数的返回值显示写操作没有成功。第一回是在文件A出错,第二回则是在文件B出错。 刚好这几天单位这边的电路在整改。程...
C++文件
C++文件
ofstream
写不进txt文件的
奇怪
问题
先记录一下,后面找到解决方法再贴。 double m_b[M][N]={0}; string filePath = "file.txt";
ofstream
file(filePath.c_str()); //下面三种都可以写进去 //file //file //file //下面这样确一直写不进去 for(int i=0;i { for(int j=0;j
C++学习笔记20-文件操作
文件操作20.0 前言20.1 文本文件20.1.1 写文件20.1.2 读文件 20.0 前言 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放。 通过文件可以将数据持久化。 C++中文件操作需要包含头文件——<fstream>。 文件类型分为两种: 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们。 文件操作的三大类:
ofstream
:写操作 ifstream:读操作 fstream
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章