|
|
|
Moky |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.3.2013 Репутация: нет Всего: нет |
Есть файл, txt, внем строка 'abcde'. Прочитать её можно с помощью функции ReadFile, но я увижу символы, может кто подскажет, как можно увидеть вместо символов ASCII коды этих символов.
|
|||
|
||||
500mhz |
|
|||
шайтан Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Увидеть где?
-------------------- |
|||
|
||||
Moky |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.3.2013 Репутация: нет Всего: нет |
Может я неправильно выразился. Нужна API функция которая возвращает ASCII код символа в текущей позиции курсора в текстовом файле. Т.Е. функция читает содержимое файла, но возвращает не символы а их ASCII коды. В DOS такая функция есть.
|
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Как ты думаешь в каком виде текст хранится в памяти ?
Чтобы "увидеть", заюзай что нибудь вроде intToStr |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
ReadFile всегда возвращает (в переданной для возврата строке) ASCII-коды символов для файла в кодировках ASCII.
Искренне Ваш, КО. |
|||
|
||||
Moky |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.3.2013 Репутация: нет Всего: нет |
Вот код программы чтения данных из файла. Текстовый файл 1.txt состоит из двух строк abcde и klmno. Кажется все просто, но если замерить размер файла выяснится, то его размер составляет не 10 байт а 12. После первой строки скрыто два технических байта. Это возврат каретки и прогон листа. Если Вы воспользуетись функцией ReadFile вы их не увидите, да и функция у меня возвращает символы, а не их ASCII коды.
Для примера простенький код, позаимствоный отчасти у Норсеева. Заранее всем спасибо!
|
|||
|
||||
ФедосеевПавел |
|
|||
Опытный Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: нет Всего: 10 |
Moky, в данном примере файл считывается полностью в буфер и средствами ОС выводится на экран. При этом в буфере будет 12 байт. Что за байты? Ну можно посмотреть в программе просмотровщике выбрав режим hex (шестнадцатеричный) - как у меня на картинке.
Если перед тобой стоит задача считать файл и вывести на экран не две строки, а их hex представления, то нужно будет "брать" из буфера по одному элементу (по байту), переводить в hex, сохранять в каком-то другом массиве, а потом выводить на экран этот полученный массив. Кажется, преобразование числа в строку - wprint или sprint - не помню. Посмотри в учебниках и по форуму. |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Если я воспользуюсь -- то я увижу. PS Правильный вопрос, разумеется -- как показать коды ASCII-символов в функцыи MessageBox или её аналоге. PPS Кстати, зачем Вы полезли в ассэмблер IA32/Windows? Есть замечательный Си с кучей книжэк для начинающих, бывают хорого написанные введения в программирование с условными ассэмблерами (вроде MMIX), спецыально разработанными для обучения и со спецыально подобными примерами -- зачем использовать трудный и неприспособленный IA32/Windows ассэмблер без вводной литературы? |
|||
|
||||
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |