C++ 读TXT文件所有内容到一个CString(TXT文件很大)

时间:2022-11-19 19:57:05
#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行是比较耗时的,屏蔽之后看看是不是很快读完