информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRыВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Notepad++ полгода раздавал зараженные... 
 Китайский прорыв из ESXi 
 С наступающим 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Command Line :) 22.01.03 12:42  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
Народ, есть ли в Win32 API какая-нибудь стандартная функция для разбора командной строчки? То есть, даем ей стринг, а назад имеем массив типа argv... Пока нашел только CommandLineToArgvW, но, если ей давать неюникодовский стринг, работает плохо.
[Win32] Command Line :) 22.01.03 12:57  
Автор: Step <Step Alex> Статус: Member
<"чистая" ссылка>
> Народ, есть ли в Win32 API какая-нибудь стандартная функция
> для разбора командной строчки? То есть, даем ей стринг, а
> назад имеем массив типа argv... Пока нашел только
> CommandLineToArgvW, но, если ей давать неюникодовский
> стринг, работает плохо.


Мне вот недавно попался такой пример, может приголиться
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>

void wmain( int argc, TCHAR *lpszArgv[ ])
{
т.е я понимаю, что при вызове такой функции она получает коммандную строку.

Я вообще пока не силен, но может это то, что тебе надо...
[Win32] Command Line :) 22.01.03 15:22  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
> Мне вот недавно попался такой пример, может приголиться
> #define UNICODE
> #include <windows.h>
> #include <stdio.h>
> #include <lm.h>
>
> void wmain( int argc, TCHAR *lpszArgv[ ])
> {
> т.е я понимаю, что при вызове такой функции она получает
> коммандную строку.
>
> Я вообще пока не силен, но может это то,
> что тебе надо...

Возможно, я неправильно сформулировал вопрос, но мне не нужна командная строка. Мне нужна по возможности стандартная утилита, которая способна любой стринг разобрать как командную строку (по тем же правилам, т.е. учитывая кавычки и прочий хлам). CommandLineToArgvW это делает, но только для юникодовских стрингов :( В принципе, несложно написать такой парсер самому, но нет времени на отладку, кроме того это далеко не самый критичный момент в моей программе :) Просто удивляюсь почему не могу найти такой фичи. GetCommandLine есть, а того что с ней по логике должно было бы работать - нет. Странно... хотя, может, не там ищу.
[Win32] Command Line :) 22.01.03 15:41  
Автор: Step <Step Alex> Статус: Member
<"чистая" ссылка>
> учитывая кавычки и прочий хлам). CommandLineToArgvW это
> делает, но только для юникодовских стрингов :(

Так может полученную строку предобразовать с помощью какойнить W2A из юниксового вида в ansy....
[Win32] Command Line :) 22.01.03 17:11  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
> Так может полученную строку предобразовать с помощью
> какойнить W2A из юниксового вида в ansy....
Идея, кстати, свежая :) Что-то торможу сегодня, раз сам не догадался. Однако, есть два возражения - проект на С и неохота тащить туда ATL, а во-вторых я таки поборол свою лень и написал разборщика так что пока вопрос потерял актуальность... :) Сенкс!
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach