ifstream获取文件长度

ifstreamf("C:\\TEMP\\DM.xml");f.seekg(0,ios::end);//文件长度intlen=f.tellg();char*s1=newc... ifstream f("C:\\TEMP\\DM.xml");
f.seekg(0, ios::end);
//文件长度
int len = f.tellg();
char *s1 = new char[len];
//将指针重新定位到文件开头
f.seekg(0, 0);
while(!f.eof())
{
f.read(s1, len);
}
//错误所在:此处输出:除了输出文件内容外,在后面还会有乱码,是怎么回事,s1申请的长度就是文件的长度啊!!
printf("%s", s1);
急救!!
展开
 我来答
03013110
2009-05-22 · TA获得超过529个赞
知道小有建树答主
回答量:1216
采纳率:0%
帮助的人:404万
展开全部
字符串长度要比文件长度多1,用来存储字符串结束符
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式