文件操作问题求救!谢了!

ra3 2002-05-17 07:03:20

请大家帮我看一下这个程序,编译时也对,也能够输出结果,可是在运行时(输出结果后),会出现一个调试错误的对话框。
应该怎么办?

////////////////////////////////////////////////////////////////////
Microsoft Visual C++ Debug Library

Debug Error!

Program: E:\TEMP\LX195.EXE
DAMAGE: after Normal block (#24) at 0x00790CF0.

(Press Retry to debug the application)

终止(A) 重试(R) 忽略(I)
///////////////////////////////////////////////////////////////////

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

void main()
{
ifstream infile("Address.txt");
char * cs=new char[sizeof(infile)];
int i=0;

while (infile.get(cs[i]))
{
i++;
}
infile.close();

cout<<cs<<endl;
delete[] cs;
}
...全文
24 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerfox 2002-05-17
  • 打赏
  • 举报
回复
为什么不用CFile类?
chongjing 2002-05-17
  • 打赏
  • 举报
回复
sizeof()错误。
jzk_sherlock 2002-05-17
  • 打赏
  • 举报
回复
对啊,算法错误,错在根上,要改
晨星 2002-05-17
  • 打赏
  • 举报
回复
我也不知道怎样获得一个ifstream对象所关联的文件的长度,但我觉得应该没有这样的函数,因为ifstream是把与他关联的文件看成一个输入流,就像键盘一样,而不是看成一个按字符数计算长度的文本文件。
cststone 2002-05-17
  • 打赏
  • 举报
回复
sizeof(infile) 是什么意思?
晨星 2002-05-17
  • 打赏
  • 举报
回复
sizeof(infile)计算的只是这个ifstream类的对象infile本身的长度,而不是与该对象相关联的那个文件的长度,所以可能出了点内存错误。
jzk_sherlock 2002-05-17
  • 打赏
  • 举报
回复
错在 char * cs=new char[sizeof(infile)];

69,371

社区成员

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

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