Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/49: Рейтинг темы: голосов - 49, средняя оценка - 4.71
Эксперт С++
5027 / 2606 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
1

getopt и windows

16.02.2011, 01:21. Показов 9915. Ответов 7
Метки нет (Все метки)

Знает ли кто где можно найти готовые аналоги функций getopt и getoptlong для windows.
Ничего похожего на мои глаза не попалось.

Или вообще чем можно парсить командную строку на Си?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2011, 01:21
Ответы с готовыми решениями:

Описание функции getopt
Распишите описание функции getopt и её использование с ключами.

Getopt::Long
День добрый, имеется у меня скрипт, выполняю в консоле: perl test.pl --test test1 --example...

Не читаются параметры getopt()
не читаются параметры... постоянно попадаю на default #include <stdio.h> #include <getopt.h>...

Getopt::Std & Getop::Long
Доброго времени суток, уважаемые. Столкнулся с задачей написания скрипта, который принимает...

7
бжни
2473 / 1682 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
16.02.2011, 01:39 2
такж она небиблиотечная, скачать исходник и радоваться
там без сильных зависимостей должно быть
1
5203 / 3176 / 358
Регистрация: 12.12.2009
Сообщений: 8,034
Записей в блоге: 2
16.02.2011, 08:27 3
Не уверен, но по-моему юзая WInAPI можно подключится к буферу чужого консольного окна, ну а там уже считывать из него текст. Правда громоздко получится...
0
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
16.02.2011, 09:12 4
Kastaneda, ты немного не понял тему. Вышеупомянутые функции используются в *nix-системах для упрощения разбора параметров командной строки, переданной программе (т.е. массива argv для int main(int argc, char* argv[]); )
Подробней здесь. Вот мой пример c getopt_long: реализация cat (второй листинг). В стандарте С/С++ таких функций нет (для C++ можно воспользоваться библиотекой program_options от boost).
А по сабжу - таки да, нужно просто взять исходники этих функций. На Windows они должны заработать либо сразу, либо после небольшого допила.
Ну или взять вот это и переделать его под чистый C.
2
Kastaneda
16.02.2011, 09:14
  #5

Не по теме:

Да, я подумал, что нужно парсить текст из cmd.exe )

0
Эксперт С++
5027 / 2606 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
16.02.2011, 17:27  [ТС] 6
alex_x_x, Nameless One, в glibc исходники этой функции занимают более 1200 строк кода и зависимости есть неслабые
0
Эксперт С++
7175 / 3234 / 79
Регистрация: 17.06.2009
Сообщений: 14,164
16.02.2011, 21:02 7
Берешь mingw gcc под Windows
Там есть getopt()
1
бжни
2473 / 1682 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
16.02.2011, 23:33 8
http://liveworkspace.org/code/... ca2830e73d

взято из порта libtiff под винду
я потестил(правда на никсах), вроде правильно работает
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2011, 23:33

Getopt. Обработка ошибок ввода параметров
Доброго Здоровья! Собственно проблема. Если параметр требует аргумента, а аргумент пропущен, то в...

Вызов функции getopt() несколько раз
Всем добрый день! У меня возник вопрос с использованием функции getopt(). Можно ли вызывать getopt...

Беспроводная сеть Windows XP- Windows 7, Windows 7 подключается но пишет что без доступа к интернету.
Компьютер под управлением Windows XP посредством USB адаптера D-Link (WiFi точка) дает WiFi на...

Windows 8.1 обновилась недавно до Windows 10, при этом перестала запускаться Windows 7, установленная второй
Купил ноут, на котором была предустановлена Windows 8.1. Но так как некоторые программы под ней не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru