Выделение пути из строки

Тема в разделе "WASM.BEGINNERS", создана пользователем vg, 15 июл 2009.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Не встречал ли кто функции для выделения пути из строки или может у кого-нибудь есть своя?
    Например, из строки
    получить
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    vg
    я в шоке, представители интеллектуального большинства захватили васм

    PS пройтись от кавычке до кавычке? :derisive:
     
  3. berni

    berni New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2009
    Сообщения:
    17
    strtok
     
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    _splitpath
     
  5. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    SPA
    Это твоё нормальное состояние.
    В конкретном случае и без тебя понятно, умник. А что, если второй кавычки нет? Или их нет вообще?... Мне нужно общее решение, а алгоритм, примерно, ясен. Просто, не хочется изобретать велосипед, если такое уже есть.
     
  6. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Если второй кавычки нету, в пути могу быть пробелы, и нету уверенности что расширение именно .exe и последовательность .exe не встречается в пути, то задача алгоритмически не разрешима, а если условия нарушаются то решение очевидно

    И вообще скажите мне когда нету второй кавычки? что то у вас в вопросе не отслеживается про универсальность.
     
  7. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Ну еще если точки не встречаються, можно сыграть на том что расширение 3 символа :derisive:
     
  8. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ужос, чего только не причудится с ночи после поезда!

    WCHAR** argvw = CommandLineToArgvW(GetCommandLineW(),argc);
     
  9. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Comer_
    Ему нужен универсальный вариант ) при критерии он молчал, при его постановке решить задачу невозможно, ибо строу невозможно отличить от параметров. В реальности кавычки или есть, или строка и есть путь
     
  10. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Вопрос был про "функцию для выделения пути из строки", а не про "функцию для выделения пути из этой строки". И для примера была приведена строка.
    Может быть. Но, думаю, круг сузить можно: максимально допустимая длина пути, расширение, первый символ - буква раздела, после ":\" и т. д.
    Мало ли откуда можно получить эту строку... хоть из текста статьи (у меня случай попроще), вариантов множество.
    Это я к тому, что одну проверку на кавычки (в своём коде так и сделал, пока) я считаю не надёжной. Вот и решил узнать нет ли готовых решений.
     
  11. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    В языках повыше уровнем, думаю, помогли бы регулярные выражения, но мне нужно для masm32.
     
  12. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    реги есть и под асмы, а CommandLineToArgvW юзать пока ни одна религия не запрещала - я гуглил.
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Кто-то бредит.
     
  14. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    укажите персону, ато все снова на меня подумают .\
     
  15. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Кто пока не понял, но точно не Comer_
     
  16. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    В чём это выражается?
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Ну если тебе выделить путь из ЛЮБОЙ строки, тогда регекспы и только
     
  18. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    * в пути есть "\" или "\"
    * в пути есть имя исполняемого файла с расширением (.exe)
    * путь, который нужно выделить, могут быть кавычки
    * под путём понимается полное имя файла программы, а не просто путь к папке

    всё так?


    Отредактировано Jupiter (Сегодня 88:88:88)
     
  19. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    В чём разница?
    С любым расширением.
    Путь\имя файла программы с расширением
     
  20. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Boost.Program_options