парсинг argc и argv в c ++ - PullRequest
       152

парсинг argc и argv в c ++

4 голосов
/ 29 ноября 2009

Я хочу больше узнать C ++ ... Обычно я делаю цикл for для разбора argv, и я получаю кучу строк в стиле C. Я хочу сделать что-то подобное в C ++, но желательно без чтения из / proc / что угодно. Сначала я пытался преобразовать строку в стиле C в строку в стиле C ++ безрезультатно ... Огорчает то, что все на SO, похоже, хотят знать, как пойти другим путем, для чего и нужна c_str () , Какой хороший способ сделать это на C ++ (например, parse argv)?

Также, одна заметка, я ищу ответ в стиле Unix, все техники конвертации, которые я видел, имеют отношение к Windows, в которой я совершенно не заинтересован.

Ответы [ 2 ]

23 голосов
/ 29 ноября 2009

Я не уверен, что полностью понимаю вопрос.

Самый чистый метод, который я знаю, чтобы получить все аргументы в простом в использовании массиве:

std::vector<std::string> v(argv, argv + argc);

Но если вы ищете способ действительно проанализировать данные, посмотрите Boost.ProgramOptions .

2 голосов
/ 29 ноября 2009

У вас проблемы с преобразованием argv в строки? Вы можете просто сделать:

string s(argv[i]);

... где i - действительный индекс в argv.

...