2012-07-24 53 views
0

我尝试做如下设置:C++ - CString的不知道什么样的价值,为倾销html源代码

首先,我转储页约1000-2000行代码的HTML源。

接下来,我想这样做

ifstream myfile; 

myfile.open("file.txt"); 
while(!myfile.eof()) 
{ 
    getline(myfile,sline); 
    sdata = sdata + sline; 
} 

但是我不想用string我的情况,我该如何如何使用CString持有sdata。在这种情况下,sdatastring,但我想使用cstring保存内容。有没有办法让我初始化和使用cstring?这是我的迷你项目的一项非功能性要求。

+0

不知道是什么问题。你想使用CString而不是std :: string来放置文件的内容?那你为什么不呢?另外,是否有理由一次读取文件行而不是整个文件? – 2012-07-24 09:27:56

+0

我如何一次读完整件事? – 2012-07-24 09:43:01

+0

这是在网络上回答的。例如,[Here](http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/d2543911-4cc4-44d8-8494-28509ff4d614)。 'CString str; CFile文件; if(file.Open(name,CFile :: modeRead)) { int len = file.GetLength(); file.Read(str.GetBuffer(len),len); str.ReleaseBuffer(); }' – 2012-07-24 11:18:18

回答

0

不幸的是,sline必须是一个std::string,但绝不应使您不必sdataCString

CString sdata; 
#ifdef _UNICODE 
std::wstring sline; 
#else 
std::string sline; 
#endif 
while(getline(myfile, sline)) 
{ 
    sdata += sline.c_str(); 
} 

这需要原始char *,并追加到CString对象。

相关问题