Tengo un programa que puede aceptar argumentos de línea de comandos y quiero acceder a los argumentos, ingresados por el usuario, desde una función. ¿Cómo puedo pasar el *argv[]
, de int main(int argc, char *argv[])
a esa función? Soy un poco nuevo en el concepto de punteros y *argv[]
parece demasiado complejo para que yo pueda resolverlo por mi cuenta.¿Cómo puedo pasar main * argv [] a una función?
La idea es dejar mi main
lo más limpio posible moviendo todo el trabajo, que quiero hacer con los argumentos, a un archivo de biblioteca. Ya sé lo que tengo que hacer con esos argumentos cuando logro contactarlos fuera del main
. Simplemente no sé cómo llevarlos allí.
Estoy usando GCC. Gracias de antemano.
¿Qué pasa cuando argv se define como const char * argv []? Así es OS X, y no puedo cambiar exactamente ABI de Apple ... – MarcusJ
@MarcusJ Sí - ARC se interpone en XCode en OSX. Tuve que pasarlos a mi método de clase ObjC++ como 'getParams (argc, argv)', pero luego tuve que declarar esa función como 'static std :: map getParams (int argc, const char ** argv) 'Note el' ** argv'. Entonces, dentro del método de la clase, podría usar 'argv' tan normal como si estuviera en la función' main'. (El material del 'mapa' en el resultado de la devolución se debe a que mi función convirtió las variables en pares de mapas de clave = valor. No es posible que también lo haga). –
Volomike