| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1497 人关注过本帖
标题:ifstream 读文件后最后会出现乱码.
只看楼主 加入收藏
ivanqiu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-29
收藏
 问题点数:0 回复次数:2 
ifstream 读文件后最后会出现乱码.
图片附件: 游客没有浏览图片的权限,请 登录注册

index.htm
<HTML>
<HEAD><TITLE>internet服务收费标准</TITLE></HEAD>
<pre><H1>internet服务收费标准</H1>
</P>
<hr><form method="POST" action="CHScript.dll">
您要查询的类型是:
<UL><LI>A类用户<input name="usertype" type=radio value="A">
<LI>B类用户<input name="usertype" type=radio value="B">
<LI>C类用户<input name="usertype" type=radio value="C">
<LI>D类用户<input name="usertype" type=radio value="D">
</UL>
<center>
<input type=submit value="提交"> <input type=reset value="取消"></center>
</pre></form><hr>
</HTML>

// 读取文件
///////////////////////////////////////////////////////////////
void Read(long length = 0)
{
ifstream ifs("index.htm",ios::out | ios::binary);
char *buffer = new char[length];

if(!ifs.eof() && !ifs.fail())
{
ifs.read(buffer, length);
}else{
buffer = NULL;
}
ifs.close();
std::cout<<buffer<<std::endl;
if(buffer)
{
delete [] buffer;
}
}
为什么最后会出现乱码? 是哪里有问题.大家帮我看看...
搜索更多相关主题的帖子: quot ifstream 乱码 input radio 
2007-06-29 09:40
Rey1023
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-3-10
收藏
得分:0 

在定义的字符串长度后面加个结尾符,不然后面的内容就会是随机的,所以就会有乱码!


人生就是一场赌博,生命中最重要的是尝试.生活中最糟糕的事情不是你冒险失败,而是你根本没有去尝试!
2007-06-29 10:40
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
char *buffer = new char[length];
这里修改成
char &buffer=new char[length+2]//多分配两个字符空间,1个也行,我一般多2个
memset(buffer,0,sizeof(char)*length+2); 清0

2007-06-29 10:46
快速回复:ifstream 读文件后最后会出现乱码.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017608 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved