Pergunta

Eu quero aprender mais C ++ ... Geralmente eu faço um loop for para argv parse, e eu acabar com um monte de cordas de estilo C. Eu quero fazer algo semelhante em C ++, mas de preferência sem ler o / proc / whatever. No início, eu tentei converter a cadeia de estilo C para um C ++ corda estilo sem resultados ... A pouco frustrante é que todos no SO parece querer saber como ir por outro caminho, que é o que c_str () é para . O que é uma boa maneira C ++ para fazer isso (ie análise argv)?

Além disso, uma nota, eu estou procurando uma resposta estilo unix, todas as técnicas de conversão que eu vi tem a ver com o Windows, o que eu estou completamente uniterested em.

Foi útil?

Solução

Eu não estou certo que eu entender completamente a questão.

O método mais limpo que eu conheço para obter todos os argumentos em um fácil de usar matriz é:

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

Mas se você está procurando uma maneira de realmente analisar os dados, veja Boost.ProgramOptions .

Outras dicas

Você está tendo problemas para converter de argv para cordas? Você pode apenas fazer:

string s(argv[i]);

... onde i é um índice válido para argv.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top