Я следую руководству по Forger Win API для загрузки текстовых файлов в элемент управления редактирования.Иногда весь файл загружается правильно, а иногда последняя часть не указывается, где «часть» в одном случае 2 с половиной строки, а в другом 10 строк o_O Вот как выглядят файлы:
(Я новый пользователь, поэтому он не позволяет мне публиковать более одной гиперссылки, поэтому вот галерея, где скриншоты: http://nancy.imgur.com/all/, и я имею в виду порядок, в котором они появляются в галерее)
2.5 пропущенных строк: секунда (чтение прекращается у курсора после 'F')
10 пропущенных строк: четвертый (также останавливается у курсора после f)
Прочитайте полностью: первый и третий
Вместо этого я попытался использовать fstreams, и тот же материал был пропущен (я также не мог заставить символы новой строки отображаться в элементе управления edit = ().быть неправым?
Я не мог связать с учебником Forger, поэтому вот функция:
BOOL LoadTextFileToEdit(HWND hEdit, LPCTSTR pszFileName) {
HANDLE hFile;
BOOL bSuccess = FALSE;
hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, NULL);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize != 0xFFFFFFFF)
{
LPSTR pszFileText;
pszFileText = GlobalAlloc(GPTR, dwFileSize + 1);
if(pszFileText != NULL)
{
DWORD dwRead;
if(ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))
{
pszFileText[dwFileSize] = 0; // Add null terminator
if(SetWindowText(hEdit, pszFileText))
bSuccess = TRUE; // It worked!
}
GlobalFree(pszFileText);
}
}
CloseHandle(hFile);
}
return bSuccess; }