读入文件()


CString 读入文件(CString 文件路径){
	HANDLE handle = CreateFile(文件路径, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL);
	if (INVALID_HANDLE_VALUE == handle) return _T("");                        //  文件打开失败,返回错误值

	DWORD dwSize = GetFileSize(handle, NULL);  //  取文件大小,这里的文件不能太大,否则需要分段读取文件
	DWORD 实际读入大小 = 0;
	
	CHAR* lpBuffer = new CHAR[dwSize+1];
	ZeroMemory(lpBuffer, dwSize+1);  //数组清零,防止当做字符串处理时,遇不到\0
	ReadFile(handle, lpBuffer, dwSize, &实际读入大小, NULL);
	CloseHandle(handle);
	CString str = (CString)lpBuffer;
	//str+=lpBuffer;

	return str;
}


其他方法:
c语言方式:
void CcodeDlg::OnBnClickedButton1()
{
	// TODO:  在此添加控件通知处理程序代码
	CString str;
	char line[256];
	FILE *pFile = fopen("D:/c++练习/易语言支持库翻译/1.txt","r");
	while (fgets(line, 256, pFile)){
		str += line;
		str += _T("\r\n");
	}
	fclose(pFile);

	SetDlgItemText(IDC_EDIT1, str);

}

c++方式
void CcodeDlg::OnBnClickedButton2()
{
	// TODO:  在此添加控件通知处理程序代码
	CString str;
	char line[256];
	std::ifstream ifs("D:/c++练习/易语言支持库翻译/1.txt");
	while (ifs.getline(line, 256)){
		str += line ;
		str += "\r\n";
	}
	ifs.close();
	SetDlgItemText(IDC_EDIT1, str);

}