#include "stdafx.h"
#include "atlstr.h"
#include "iostream"
#include "fstream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char str[65535];
CString cstr="";
ifstream file(L"weiboa.txt",ios::in);
file.getline(str,65535);
while (!file.eof())
{
file.getline(str,65535);
cstr=str+cstr ;
cout<<str<<endl;
}
cout<<cstr;
file.close();
return 0;
}
目的是读取TXT文件到一个CString字符串,文件是微博html文件,所以很大,为了方便分析微博想存为CString。但是程序陷入了 死循环。求指教。
2 个解决方案
#1
CFile file(path, CFile::modeRead);
int fileLen = (int)file.GetLength();
CStringA strA;
char* pBuf = strA.GetBuffer(fileLen + 1);
file.Read(pBuf, fileLen);
pBuf[fileLen] = '\0';
strA.ReleaseBuffer();
file.Close();
str = strA;
#2
你的15,16行是比较耗时的,屏蔽之后看看是不是很快读完
#1
CFile file(path, CFile::modeRead);
int fileLen = (int)file.GetLength();
CStringA strA;
char* pBuf = strA.GetBuffer(fileLen + 1);
file.Read(pBuf, fileLen);
pBuf[fileLen] = '\0';
strA.ReleaseBuffer();
file.Close();
str = strA;
#2
你的15,16行是比较耗时的,屏蔽之后看看是不是很快读完