
22.12.2008, 18:05
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
С нами:
9885926
Репутация:
1188
|
|
Ребята, помогите пожалуйста... голова уже забита..
есть функция, которая считывает данные с файла и передает их в эдитбокс.
по дефолту там считывает 1024 байта. не больше и не меньше.
как в MFC получить длину файла и считывать такое количество байт, которое нужно, а не строго только 1024..
вот код:
Код:
void COpenDialog::OnOpen()
{
CString fname; //Переменная для хранения имени файла
CFile file; //обьект класса CFile
char ch[1024]; //Буффер для чтения данных из файла
if(!OpenRead) //Если OpenRead=false то показываем диалог открытия файлов
{
CFileDialog fDialog(TRUE);
fDialog.DoModal();
m_EditOpen.SetWindowText(fDialog.GetPathName());
m_bOpen.SetWindowText("Read");
OpenRead = true;
}
else
{
m_EditOpen.GetWindowText(fname); //Получаем имя файла
if(!file.Open(fname, CFile::modeRead, NULL)) //Открываем его
{
AfxMessageBox("Cannot open file");
return;
}
file.Read(&ch, 1024); //Читаем 1024 байт
m_EditText.SetWindowText(ch);
file.Close(); //Закрываем файл
m_bOpen.SetWindowText("Open");//Меняем текст кнопки
OpenRead = false;
}
}
никак не могу вкурить как сюда прилепить CFile::GetLength.. а завтра нужно сдать..
кто нить на свежую голову посмотрите что там можно сделать. спасибо, друзья.
|
|
|