Цитата:
steelik:
Как в VC++ открыть текстовый файл и скопировать его содержимое в EditBox?
|
Можно так :
Код:
CFileDialog ldFile(TRUE);
CStdioFile file;
CEdit* pEdit = (CEdit*) GetDlgItem(IDC_EDIT2); //ID твоего едита
if(ldFile.DoModal() == IDOK)
{
if(file.Open(ldFile.GetFileName(),CFile::typeText | CFile::modeRead ))
{
long lFileLength = file.GetLength();
char* pBuffer = new char [lFileLength+1];
file.Read(pBuffer,lFileLength);
pEdit->SetWindowText(pBuffer);
delete [] pBuffer;
file.Close();
}
}
A можно построчно, примерно так :
Код:
CFileDialog ldFile(TRUE);
CStdioFile file;
CEdit* pEdit = (CEdit*) GetDlgItem(IDC_EDIT2);
if(ldFile.DoModal() == IDOK)
{
if(file.Open(ldFile.GetFileName(),CFile::typeText | CFile::modeRead ))
{
CString strBuffer="";
CString strTxt="";
while(file.ReadString(strBuffer))
{
strTxt+=strBuffer;
strTxt+="\n";
}
pEdit->SetWindowText(strTxt);
file.Close();
}
}
И поосторожнее, у CEdit по моему есть ограничение на размер текста (64К).
У RichEdit не знаю какое ограничение.