[Grulic-dev] manipulacion de argc/argv

Página superior
Adjuntos:
+ (text/plain)
Eliminar este mensaje
Responder a este mensaje
Autor: Maxi Combina
Fecha:  
A: grulic-dev
Asunto: [Grulic-dev] manipulacion de argc/argv
Hola developers de gulic :)

Tengo la siguiente duda: esta "bien" o no agregarle cosas al argv? Me
explico mejor, esta "bien" el siguiente codigo:

int main(int argc, char* argv[])
{
 if (argc == 1){
     argv[1] = malloc(2*sizeof(char));
     argv[1][0] = argv[1][1] = '\0';
     argc++;
 }


// resto del codigo que depende de argc/argv

return 0;
}

O sea, la duda es si es correcto hacer un malloc dentro del programa,
reservar memoria, hacer que arvg[i] (i == 1 en este caso) apunte a esa
memoria, y usarlo "como si nada"? Hay que hacer free(argv[1]) despues?

Me surgen otra duda: en este caso, la memoria a la cual apunta argv[1]
es del programa correcto? El resto de argv apunta a memoria del shell?

Saludos y gracias por cualquier iluminacion,
maxi
--
Carelessly planned projects take three times longer to complete than
expected. Carefully planned projects take four times longer to
complete than expected, mostly because the planners expect their
planning to reduce the time it takes.