как вывести BYTE |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
как вывести BYTE |
Янычар |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Подскажите пожалуйста как вывести переменную BYTE в окно win32 API. Я использую Crypto API и функция CryptGetHashParam(hHash, HP_HASHVAL, (BYTE*)hash_value, &count, 0); возвращает в переменной hash_value тип BYTE*. Так вот просто TextOut(hdc,0,0,hash_value,strlen(hash_value)); вот так вот вывести не получается...
|
IUnknown |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Во-первых, не хватает информации, в какой кодировке записан файл, который читается.
Во-вторых, MSDN не пробовал внимательно читать? ReadFile function явно говорит, что Цитата lpNumberOfBytesRead [out, optional] У тебя файл открывался без FILE_FLAG_OVERLAPPED, так что придется делать вот так:A pointer to the variable that receives the number of bytes read when using a synchronous hFile parameter. ReadFile sets this value to zero before doing any work or error checking. Use NULL for this parameter if this is an asynchronous operation to avoid potentially erroneous results. This parameter can be NULL only when the lpOverlapped parameter is not NULL. DWORD wasRead;по крайней мере. Цитата Ладно, все равно не получается. Что там может не получаться? Как пробовал, показывай.P.S. Совсем забыл еще один момент. Обратные слэши должны дублироваться, т.е. "C:\\text.txt"; Сообщение отредактировано: IUnknown - |
Янычар |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Во-первых, не хватает информации, в какой кодировке записан файл, который читается. Во-вторых, MSDN не пробовал внимательно читать? ReadFile function явно говорит, что У тебя файл открывался без FILE_FLAG_OVERLAPPED, так что придется делать вот так: DWORD wasRead;по крайней мере. Что там может не получаться? Как пробовал, показывай. P.S. Совсем забыл еще один момент. Обратные слэши должны дублироваться, т.е. "C:\\text.txt"; Спасибо что занимаетесь мной, но видимо я чего-то не понимаю, скорее всего глупость какую-нибудь опять делаю и увидеть не могу, но все равно не получается. И с флагом FILE_FLAG_OVERLAPPED и без него не получается и ReadFile как написано и как у меня тоже ни хрена. Файл был первоначально в ANSI, перекодировал его в UNICODE, все равно иероглифы. |
IUnknown |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
|
Янычар |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Вижу что все так. Для справедливости повторил все что написано в коде, который видно на снимке, результат тот же. Пробовал и в Юникоде сохранять текстовый файл и в анси, все одно. Если что то в свойствах проекта установлен юникод. Вот еще раз код:
Сообщение отредактировано: Янычар - |
Текстовая версия | 11.05.2024 0:10 |