hola<br>la funcion ctime devuelve un puntero a una cadena, la funcion ya se ocupa de reservar el espacio.<br>lo unico que estas haciendo al reservar el espacio por tu cuenta es desperdisiarlo.<br><br>vos reservas 20 bytes, la funcion reserva otros 20 y le asigna a tu puntero los 20 que reservo.<br>

tus 20 quedan sin usarse.<br>si podes hacer un free cuando no lo necesites mas.<br>David<br><br><br><div class="gmail_quote">El 6 de enero de 2010 09:53, Gilberto Cuba Ricardo <span dir="ltr"><<a href="mailto:gilbert@hlg.rimed.cu">gilbert@hlg.rimed.cu</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hola Lista,<br>
<br>
  Bueno, esto es una duda que siempre he tenido, el hecho de utilizar<br>
  una función que devuelve un char* y en su lugar lo que estoy<br>
  poniendo es una variable de arreglo. Pongo un ejemplo para que esto<br>
  se vea mejor. Vamos a suponer que tenemos lo siguiente:<br>
<br>
  1: char str[20];<br>
  2: str = ctime(&now);<br>
<br>
  Aquí en la línea 2 es donde se presenta el error que tiene por<br>
  título el correo, y lo cual me queda bien claro y es que no puede<br>
  asignarle el puntero al arreglo de 20 caracters.<br>
<br>
  Una alternativa que he utilizado en ocasiones es la siguiente:<br>
<br>
  1: char *str = (char *)malloc(sizeof(char) * 20);<br>
  2: str = ctime(&now);<br>
  3: ...<br>
  4: free(str);<br>
<br>
  y la cual veo conveniente; pero ustedes se imaginan el hecho de que<br>
  esto esté dentro de un ciclo, que esté constantemente en cada<br>
  iteración reservando y liberando la memoria, me imagino también que<br>
  pensarían y bueno, si siempre es esa cantidad porque no se reserva y<br>
  libera fuera del ciclo, lo cual está bien. Pero al respecto sigo<br>
  reflexionando, tengo entendido, y que me corrijan si me equivoco,<br>
  porque no conozco mucho al respecto, en el primer ejemplo cuando se<br>
  compila ya se ha reservado ese espacio de memoria el cual siempre ya<br>
  estará utilizable, lo cual no sucede así en el segundo ejemplo y que<br>
  se irá reservando y utilizando durante la ejecución, tema que demora<br>
  la ejecución de la aplicación.<br>
<br>
  Espero, tener comentarios al respecto y bueno, tal vez otra<br>
  alternativa de solución.<br>
<br>
--<br>
Salu2,<br>
 Gilbert<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>