Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.10.2007, 09:52
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме: 4612647
Репутация:
368
|
|
Нид хелп,сейчас мучаю одно творение,и возникла одна "маленькая проблема",дело в том что при использовании функции lstrcat возникает некоторые лаги,эта функция соединяет два буфера в один,но происходит мерзостная бага когда ее используеш часто. Т.е допустим нужно соединить C:\WINDOWS с regedit.exe. На первый раз все клеит удачно,но потом возникает необходимость еще одного комбинирования,типа dir с C:\WINDOWS\regedit.exe и тут повляется своеобразный мусор,типа "dir C:\WINDOW\regedit.exe :7: 444353" откуда берутся эти символы не понятно. В чем проблема? Сорри,если вопрос ламо...реально надо понять в чем проблема. Надо как то очищать буфер?
Последний раз редактировалось NeXArmAor; 13.10.2007 в 09:54..
|
|
|

13.10.2007, 13:20
|
|
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме: 1777536
Репутация:
932
|
|
1)На конце regedit.exe поставь мой любимый разделитель("_") , а потом начиная с конца конца закидай буффер нулями.
2)Сначала "склей" dir и C:\\... , а потом regedit.exe
3)Юзай wsprintf . Это найлучший и надёжнейший метод.
|
|
|

13.10.2007, 13:37
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме: 4612647
Репутация:
368
|
|
Ky3bMu4,thx...примерчик подкинь с wsprintf плз. Если знаеш
|
|
|

13.10.2007, 13:55
|
|
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме: 1777536
Репутация:
932
|
|
Примерно так:
Код:
....................
.const
xz db '%s%s',0
st1 db 'dir',0
st2 db 'C:\\',0
...................
.code
Main PROC
LOCAL st3:BYTE ; склееная строка будет здесь
invoke wsprintf , st3 , xz , st1 , st2
.....................
|
|
|

13.10.2007, 14:24
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Ky3bMu4, автограф дашь? Честное слово, таких мастеров еще не видел. Особенно понравился твой код. Верх программерского мышления! Он наверное outpost обходит, путем вызова исключения, я угадал?
NeXArmAor, msdn говорит чтонибудь? Прочитал бы для начала про lstrcat, там вроде ясно написано, что строка должна закнчиваться '\0', но читать справку не модно, понимаю.
LPTSTR lstrcat(
LPTSTR lpString1,
LPTSTR lpString2
);
Parameters
lpString1
[in, out] Pointer to a null-terminated string. The buffer must be large enough to contain both strings.
lpString2
[in] Pointer to the null-terminated string to be appended to the string specified in the lpString1 parameter.
С wsprintf таже ситуация, ну конечно тебе нужен пример, ведь без примера ты ничего не поймешь. Если я не ошибаюсь, ты автор N-Joiner Asm Version, тогда вопрос, у кого ты украл исходники, если не знаешь таких элементарных вещей?
|
|
|

13.10.2007, 14:31
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме: 4612647
Репутация:
368
|
|
NiOx, не остри плз. Я автор N-Joy и я не крал исходники ни у кого. А на счет справки ты прав,я ее не читал. Ну я конечно понимаю,ты гуру ассемблера,для тебя все элементарно,но уж извини не дошел я до такого ранга еще.
|
|
|

13.10.2007, 14:52
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Начнем с того, что я не считаю себя гуру ассемблера и насчет ранга я не понял. Какое отношение lstrcat имеет к ассемблеру? То что ты не знаешь банальных вещей про нулевой символ и при этом пишешь джоинер - это нонсенс я считаю. Удачи.
|
|
|

13.10.2007, 14:57
|
|
Участник форума
Регистрация: 21.04.2007
Сообщений: 289
Провел на форуме: 4612647
Репутация:
368
|
|
NiOx, а для того чтобы написать джойнер совсем не обязательно знать про нулевой символ.
|
|
|

13.10.2007, 15:04
|
|
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме: 951141
Репутация:
291
|
|
Ni0x да ладно тебе)я видел похлеще....))))
Большинство здесь решают какие-то определенные задачи ,они не изучают язык...но это опять же их право,а то что после написания джойнера они не стесняются задавать такие вопросы...ну хз.
|
|
|

13.10.2007, 18:33
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Сообщение от NeXArmAor
NiOx, а для того чтобы написать джойнер совсем не обязательно знать про нулевой символ.
Ну да, вероятно для того, чтобы написать ОС, совсем не обязательно знать устройство компьютера и процессора в частности. Достаточно лишь покидать понтов, натырить у всех кода и скзать - смотрите, какой я крутой, я написал это сам!
Сообщение от Ky3bMu4
1)На конце regedit.exe поставь мой любимый разделитель("_") , а потом начиная с конца конца закидай буффер нулями.
2)Сначала "склей" dir и C:\\... , а потом regedit.exe
3)Юзай wsprintf . Это найлучший и надёжнейший метод.
Со своим любимым разделителем и такими советами знаешь куда тебе надо?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|