Сейчас на форуме: tyns777 (+4 невидимых)

 eXeL@B —› Программирование —› ReverseString на WinAPI?
Посл.ответ Сообщение

Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 01 октября 2010 17:26
· Личное сообщение · #1

Есть ли в WinAPI что-то подобное?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 01 октября 2010 17:41
· Личное сообщение · #2

strrev ?



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 01 октября 2010 18:12
· Личное сообщение · #3

а strrev разве на WinApi ?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 01 октября 2010 18:14
· Личное сообщение · #4

дайте определение winapi функций
strrev и в MSVCRT и в ntoskrnl есть



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 01 октября 2010 18:14
· Личное сообщение · #5

msvcrt.dll

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 01 октября 2010 18:19 · Поправил: 0xy
· Личное сообщение · #6

Меня интересует что-то подобное из kernel/user/advapi.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 01 октября 2010 18:22
· Личное сообщение · #7

0xy
Если патчишь прогу, то лучший вариант дописать самому.




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 01 октября 2010 18:52 · Поправил: Flint
· Личное сообщение · #8

Code:
  1.          .686
  2.          .model flat, stdcall
  3.          option casemap :none
  4. include \MASM32\INCLUDE\user32.inc
  5. include \MASM32\INCLUDE\kernel32.inc
  6. include \MASM32\INCLUDE\msvcrt.inc
  7. include \MASM32\INCLUDE\windows.inc
  8.          
  9. includelib \MASM32\LIB\kernel32.lib
  10. includelib \MASM32\LIB\user32.lib
  11. includelib \MASM32\LIB\msvcrt.lib
  12.  
  13.  
  14. assume fs:nothing
  15.          
  16.  
  17. .data
  18. string   db "торобоан акортс", 0
  19.  
  20.  
  21. .data?
  22.  
  23.  
  24. .code
  25. start:
  26.  
  27. push offset string
  28. Call crt__strrev
  29. add esp, 4
  30.  
  31.  
  32. PUSH 0
  33. CALL ExitProcess
  34. end start
  35.  


-----
Nulla aetas ad discendum sera




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 01 октября 2010 19:03
· Личное сообщение · #9

Code:
  1. void my_strrev(char *str)
  2. {
  3.          char *p, *e;
  4.  
  5.          for (= str; e[0] && e[1]; e++);
  6.          for (= str; p < e; p++, e--) { char c = *p; *p = *e; *e = c; }
  7. }

без внешних функций

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 01 октября 2010 21:31 · Поправил: Coderess
· Личное сообщение · #10

Ну и до кучи мой вариант, раз уж пошла такая пьянка:
Code:
  1. void x_reverse(char s[])
  2. {
  3.          register int i = 0, j = strlen(s) - 1;
  4.          register char c;
  5.          for (; i < j; i++, j--) {
  6.                  c = s[i];
  7.                  s[i] = s[j];
  8.                  s[j] = c;
  9.          }
  10. }


-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 01 октября 2010 21:50
· Личное сообщение · #11

Значит в системных либах нету.
Если патчишь прогу, то лучший вариант дописать самому.
Согласен: у меня вообще вышло 6 байт коду
Code:
  1. :Loop
  2. std
  3. lodsb
  4. cld
  5. stosb
  6. loopd Loop



 eXeL@B —› Программирование —› ReverseString на WinAPI?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати