НАВИГАЦИЯ
   Главная
  Программы для ПК [36]
  Программы для ПК-2 [3]
  Скрипты для WEB [8]
  Исходники на C, VC++, С++ Builder [12]
  Исходники на Basic [2]
  Исходники на Pascal [2]
  Исходники для микроконтроллеров [5]
  Электроника для дома [34]
  Электроника для аквариума [1]
  Электроника для автомобиля [11]
  Справочник [4]
  Разное [7]
  Проект "Умный дом"
  Файлы, библиотеки

  FAQ
  Рассылка новостей сайта

  Ссылки
  Сообщение автору

 
 
 
  Реальные знакомства по Украине, СНГ и за рубеж на любой вкус и цвет. Рассылка анкет. Помощь     Rambler's Top100  
Исходник разбора командной строки, cmd_parse
Просмотров: 738Дата изменения: 26.03.2010г.


CStringArray sa;
LPTSTR cmd = GetCommandLine();
int a, L = (int)strlen( cmd );
bool caw;
CString s = "";
for( a=0, caw=false; a<L; a++ ) {
  if( cmd[a] == ' ' ) {
    if( caw ) goto cmd3; // пробел в имени или в пути
    goto cmd2;
  }
  if( cmd[a] == '"' ) {
    if( caw == false ) { caw = true; continue; }
    caw = false;
cmd2:
    s.Trim();
    if( !s.IsEmpty() ) {
      sa.Add( s );
      s = "";
    }
    continue;
  }
cmd3:
  s += cmd[a];
}
if( !s.IsEmpty() ) goto cmd2;
//=================================

// теперь в массиве sa разобранная строка
L = (int)sa.GetCount(); // получаем кол-во строк в массиве sa

...

sa.RemoveAll(); // потом не забываем очистить массив!

 


Подпишитесь на рассылку новостей сайта!
Использование материалов возможно только при разрешении автора и с обязательным указанием ссылки на сайт vovka.sv19.com
Programmed by Vladimir Sharapov © 2004-2017 http://vovka.sv19.com