首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这段代码是否存在内存或资源泄露解决办法

2012-04-15 
这段代码是否存在内存或资源泄露我写了一个函数,从磁盘上读入一个文本文件(1.txt)到内存中。我想请教大家,

这段代码是否存在内存或资源泄露
我写了一个函数,从磁盘上读入一个文本文件(1.txt)到内存中。    
我想请教大家,这段代码是否存在内存或资源泄露?谢谢!    
代码如下:    
 
#include     <fstream>    
using     namespace     std;    
#include     <iostream>            
#include     <sstream>    
 
//从磁盘上读入一个纯文本文件(1.txt)到内存    
void     fun1()    
{    
              ostringstream     oss;    
              string     str;    
              ifstream     ifs(     "C:\\1.txt ");//打开文件    
 
              if(     ifs     )        
              {    
                              oss     < <     ifs.rdbuf();    
                              str     =     oss.str();    
                              char*     pDoc     =     const_cast <char*> (str.c_str());    
                              ifs.close();//关闭文件    
              }    
}

[解决办法]
正常, 没有泄漏 ·····
[解决办法]
没错,也没泄漏,就是效率比较低。可以直接从ifs读入str。
ifstream ifs( "C:\\1.txt ");
string str((istreambuf_iterator <char> (ifs)), istreambuf_iterator <char> (ifs));
ifs.close();

热点排行
Bad Request.