
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);
急救!! 展开
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);
急救!! 展开
展开全部
字符串长度要比文件长度多1,用来存储字符串结束符
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询