Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

string s(argv[i]);

... где i является допустимым индексом для argv .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top