Неужели в ВинАпи нет поиска строки в строке?

Тема в разделе "WASM.BEGINNERS", создана пользователем Lex2029, 23 мар 2008.

  1. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Всем привет.
    Неужели нет сабжевой функции?
     
  2. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    strstr
     
  3. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    strstr - это не винапи, но эта функция экспортируется ntdll, так что можно ее использовать, даже если ничего кроме голого виндоус кругом нет
     
  4. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Если сама функция нужна, то можно взять из Delphi -> SysUtils

    function StrPos(const Str1, Str2: PChar): PChar; assembler;
    asm
    PUSH EDI
    PUSH ESI
    PUSH EBX
    OR EAX,EAX
    JE @@2
    OR EDX,EDX
    JE @@2
    MOV EBX,EAX
    MOV EDI,EDX
    XOR AL,AL
    MOV ECX,0FFFFFFFFH
    REPNE SCASB
    NOT ECX
    DEC ECX
    JE @@2
    MOV ESI,ECX
    MOV EDI,EBX
    MOV ECX,0FFFFFFFFH
    REPNE SCASB
    NOT ECX
    SUB ECX,ESI
    JBE @@2
    MOV EDI,EBX
    LEA EBX,[ESI-1]
    @@1: MOV ESI,EDX
    LODSB
    REPNE SCASB
    JNE @@2
    MOV EAX,ECX
    PUSH EDI
    MOV ECX,EBX
    REPE CMPSB
    POP EDI
    MOV ECX,EAX
    JNE @@1
    LEA EAX,[EDI-1]
    JMP @@3
    @@2: XOR EAX,EAX
    @@3: POP EBX
    POP ESI
    POP EDI
    end;
     
  5. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Спасибо.

    Что-то меня напугал МСДН, слова что функция в shlwapi.lib находится, а я о такой даже не слышал :dntknw:
     
  6. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Novi4ek
    WinApi функция - это любая функция которая экспортируется из любой системной DLL, которая присутствует в семействе, поэтому если она есть в ntdll.dll значит это WinAPi.
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    EvilPhreak
    С каких пор CRT, экспортируемый виндой, стал принадлежать Win API?
    Вот новости-то.. каждый день заходишь на васм и узнаешь новый бред.
    Дубль два: в винде опционально была psxss.dll, экспортирующая chmod,chown,fork,... Тоже скажешь что это винапи? =))
     
  8. 0x56

    0x56 New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2008
    Сообщения:
    63
    Lex2029 shlwapi упомянул, есть там несколько строковых функций, но ЦРТшных конечно же больше
     
  9. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Great
    Убедил. Я ошибся.
     
  10. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Только не strstr, а StrStr.