RE:LLAMADAS A PROGRAMAS CON PARAMETROS
Ok, trataré de replantear mis explicaciones anteriores.
Dado tu ejemplo:
contab basculas rebueltas
tendrás tres parámetros (cada parámetro, por cierto, es una palabra, entonces "basculas" es el segundo parámetro y "rebueltas" es el tercero), donde el primero es el nombre de tu programa, con directorio incluído (i.e. C:\Programas\contab.exe asumiendo que el programa se ejecuta en el directorio C:\Programas). Entonces argc == 3, y
argv[0] = C:\Programas
argv[1] = basculas
argv[2] = rebueltas
Ojo, todo esto según el estándar. Entonces cuando le pases tres parámetros, como en tu segundo ejemplo:
contab Coca Cola Compani
argc sería igual a 4 y argv tendría en su segunda, tercera y cuarta posición, las cadenas "Coca", "Cola" y "Compani".
Hasta aquí no entiendo cuál es el problema. Para obtener los parámetros, bastaría hacer algo como:
int main(int argc, char* argv[])
{
char TodosLosParametros[500] = "";
for (int i = 1; i < argc; i++)
{
strcat(TodosLosParametros, argv[i]);
printf("Parametro %d: %s", i, argv[i]);
}
printf("El numero de parametros es %d y la cadena de texto de todos los parámetros juntos son %s", argc, TodosLosParametros);
return EXIT_SUCCESS;
}
No sé la verdad qué más explicar al respecto. Espero que haya quedado claro. Si no, quizás estamos confundiendo términos, no sé. Si sigues teniendo dudas, me avisas. Ahora no podré dormir hasta que esto quede claro :P
Saludos.