为甚么ifstream输入流总是出错啊!

江南烟雨梦 2009-12-10 01:15:17

char *Readfile(char *filename)
{
char *read_buf = NULL;

if (!filename)
return NULL;

//ifstream fins(filename, ifstream::in);
ifstream fins;//("G:\91mq\tools\UpdateHall\UpdateHall\UpdateHall\ktv1.htm", ifstream::in);
fins.open("G:\91mq\tools\UpdateHall\UpdateHall\UpdateHall\ktv1.htm");

if (!fins)//.good()) //此处总是返回失败,这是为什么啊?不管什么方式,读什么文件,有时成功、有时失败啊!
{
fins.close();
return NULL;
}

fins.seekg(0, ios::end);
int length = fins.tellg();
fins.seekg(0, ios::beg);

read_buf = new char[length + 1];

if (read_buf)
fins.read (read_buf, length);

*(read_buf + length + 1) = '\0';
fins.close();
return read_buf;
}

//ifstream fins(filename, ifstream::in);
ifstream fins;//("G:\91mq\tools\UpdateHall\UpdateHall\UpdateHall\ktv.htm", ifstream::in);
fins.open("G:\91mq\tools\UpdateHall\UpdateHall\UpdateHall\ktv.htm");

if (!fins)//.good()) //此处总是返回失败,这是为什么啊?不管什么方式,读什么文件,有时成功、有时失败啊!
{
fins.close();
return NULL;
}
麻烦大家帮我解答一下,谢谢了!
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xianyuxiaoqiang 2009-12-10
  • 打赏
  • 举报
回复
是的,注意细节。
  • 打赏
  • 举报
回复
"G:\91mq\tools\UpdateHall\UpdateHall\UpdateHall\ktv1.htm

楼主在win下要注意路径里的转移啊
pengzhixi 2009-12-10
  • 打赏
  • 举报
回复
不跟1楼抢分了。
linuhuge 2009-12-10
  • 打赏
  • 举报
回复
在字符串中表示‘\’需要用转义字符的 \\
fblgzdq 2009-12-10
  • 打赏
  • 举报
回复
\\
mstlq 2009-12-10
  • 打赏
  • 举报
回复

fins.open("G:\\91mq\\tools\\UpdateHall\\UpdateHall\\UpdateHall\\ktv1.htm");

请注意'\\'转义字符

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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