Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

В чём ошибка?

23K
09 мая 2012 года
1_2
34 / / 09.01.2012
Написал программу, которая записывает в файл заголовок активного окна, но в файл заносится только первый символ названия окна. В чём ошибка?

DWORD NOfBytes;
OVERLAPPED ovlp;
DWORD ffsze;
char buffer[250];
TCHAR title[MAX_PATH] = {0};
GetWindowText(GetForegroundWindow(),title,MAX_PATH); // получаем имя
sprintf(buffer," %s\r\n",title);
ffsze=GetFileSize(hFile,NULL);
ovlp.OffsetHigh=0;
ovlp.hEvent=NULL;
ovlp.Offset=ffsze;

WriteFile(hFile,buffer,strlen(buffer),&NOfBytes,&ovlp);
316
09 мая 2012 года
Alm3n
889 / / 29.05.2009
Нужно смотреть в отладчике.
У меня получается вся строка.
Если есть ошибка, то она в WriteFile.
Посмотри, сколько байт записывается по факту.
Если хочешь дописывать в конец файла, то
Цитата:

To write to the end of file, specify both the Offset and OffsetHigh members of the OVERLAPPED structure as 0xFFFFFFFF. This is functionally equivalent to previously calling the CreateFile function to open hFile using FILE_APPEND_DATA access.


Думаю, стоит принудительно записывать в буфферы с помощью FlushFileBuffers.

1
09 мая 2012 года
kot_
7.3K / / 20.01.2000
Для отображения кода НЕОБХОДИМО использовать тег [ code ][ /code ] (без пробела).

Что содержит в buffer?
Что возвращает strlen(buffer)?
Что содержит в NOfBytes после вызова функции?
Советую научится пользоваться отладчиком, до того как лезть на форум - это и есть основная ошибка.
316
09 мая 2012 года
Alm3n
889 / / 29.05.2009
Цитата: kot_
Для отображения кода НЕОБХОДИМО использовать тег [ code ][ /code ] (без пробела).

Что содержит в buffer?
Что возвращает strlen(buffer)?
Что содержит в NOfBytes после вызова функции?
Советую научится пользоваться отладчиком, до того как лезть на форум - это и есть основная ошибка.


Мне удалить пост, пока он не ответит на твоё сообщение? :)

1
10 мая 2012 года
kot_
7.3K / / 20.01.2000
Цитата: Alm3n

Мне удалить пост, пока он не ответит на твоё сообщение? :)


зачем?

23K
10 мая 2012 года
1_2
34 / / 09.01.2012
Разобрался. Проблемы была в функции sprintf. Без неё всё работает. А как быть, если у окна название, например, "Блокнот"? Тогда в файл записывается набор символов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог