Pregunta

Quiero aprender más C ++ ... Por lo general, hago un bucle for para analizar argv, y termino con un montón de cadenas de estilo C. Quiero hacer algo similar en C ++, pero preferiblemente sin leer de / proc / lo que sea. Al principio, traté de convertir la cadena de estilo C a una cadena de estilo C ++ sin resultados ... Lo frustrante es que todos en SO parecen querer saber cómo ir en sentido contrario, que es para lo que sirve c_str () . ¿Cuál es una buena forma de C ++ para hacer esto (es decir, analizar argv)?

Además, una nota, estoy buscando una respuesta de estilo Unix, todas las técnicas de conversión que he visto tienen que ver con Windows, en el que no tengo ningún interés.

¿Fue útil?

Solución

No estoy seguro de entender completamente la pregunta.

El método más limpio que conozco para obtener todos los argumentos en una matriz fácil de usar es:

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

Pero si está buscando una forma de analizar realmente los datos, consulte Boost.ProgramOptions .

Otros consejos

¿Tiene problemas para convertir argv's en cadenas? Simplemente puedes hacer:

string s(argv[i]);

... donde i es un índice válido en argv .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top