Показать сообщение отдельно

  #11  
Старый 22.12.2008, 18:05
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
С нами: 9885926

Репутация: 1188


Unhappy

Ребята, помогите пожалуйста... голова уже забита..
есть функция, которая считывает данные с файла и передает их в эдитбокс.
по дефолту там считывает 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.. а завтра нужно сдать..
кто нить на свежую голову посмотрите что там можно сделать. спасибо, друзья.
 
Ответить с цитированием