[Programación] Re: [Programación] duda profunda sobre char * strcpy(char*,const char*)

José Luis Diaz programacion@lugro.org.ar
Fri, 11 Jun 2004 13:56:36 -0300


On Thursday 10 June 2004 16:44, Horacio Castellini wrote:

strdup asigna el espacio (Con malloc), strcpy solo copia. Una opcion buena es 
usar strdupa (que asigna el espacio con alloca).


> Holas amigos programadores....
>
> Tengo una duda, que es significativa a la hora de aparcer o no put* bug.
>
> supongamos el siguiente caso... omito las seguridades de rebase...
>
> char **M;
> int q=3;
> M=(char**)malloc(q*sizeof(char*));
>
> ahora bien supongamos que tengo tres string char de longitud diferente
> s,r,t... la operación strcpy automáticamente ejecuta un malloc y puedo
> hacer
>
> strcpy(M[0],r)....
>
> ó previamente debo hacer
>
> M[0]=(char*)malloc(strlen(r)*sizeof(char));
> M[1]=(char*)malloc(strlen(s)*sizeof(char));
> M[2]=(char*)malloc(strlen(t)*sizeof(char));
>
> y luego...
>
> strcpy(M[0],r)....
>
-- 
José Luis Diaz - jose@citynet.net.ar            /"\  ASCII Ribbon Campaign
GNU/Linux Registered User #138499               \ /  No HTML in mail or news!
RTFM! - http://rtfm.org.ar                       X
"Kernel Panic - No signature found"             / \
--
PGPkey: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7BCD2757