|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 2, 2004 21:54:07 Выделяю буфер под строку как: .data buff db 100 dup(0) Потом использую ее например так: invoke lstrcpy,ADDR buff,ADDR szSomeStr При повторном обращении к буферу в нем все еще хранится старая строка. Как ее оттуда убрать? |
|
|
Дата: Янв 2, 2004 21:56:20mov BYTE PTR [buff],0 |
|
|
Дата: Янв 2, 2004 22:47:20 invoke lstrcpy обнуляет начальное значение строки и записывает собой |
|
|
Дата: Янв 2, 2004 22:57:54 Можно поступить ещё более радикально: invoke RtlZeroMemory, lpszBuff, length :-) |
|
|
Дата: Янв 2, 2004 23:23:56 Gloomy А зачем убирать? Пишите новую поверх старой. Это же асм :) |
|
|
Дата: Янв 3, 2004 01:31:41 · Поправил: Gloomy Спасибо всем за ответы! Придумал более подходящий в моем случае способ - копировать новую строку поверх старой и забивать ее нулем ;) |
|
|
Дата: Янв 3, 2004 03:19:03 Gloomy Зачем ее забывать нулями? При копировании новой строки в ее конце будет записан нуль-терминатор, поэтому остатки старой строки тебе мешать не будут. |
|
|
Дата: Янв 4, 2004 14:40:53mov edi,offset buff ; mov esi,offset buff ; или так mov ecx,length_buff xor eax,eax rep stosb |
|
|
Дата: Янв 4, 2004 20:05:42 KiNDeR Приветствую, О Дитя Дзена! Где пропадал? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.043 |