Título: [C++][AYUDA] problema con sizeof Publicado por: anonimo12121 en 4 Mayo 2010, 16:05 pm hola.
Mi problema es que pongo un sizeof en una funcion que tiene de parametro 1 char *. pero no me dice los bytes que tiene la cadena que le meto. aqui el code. Código
Título: Re: [C++][AYUDA] problema con sizeof Publicado por: Littlehorse en 4 Mayo 2010, 16:18 pm En ese contexto, sizeof te da el tamaño del puntero (4 bytes). Utiliza strlen.
Título: Re: [C++][AYUDA] problema con sizeof Publicado por: anonimo12121 en 4 Mayo 2010, 16:32 pm ya se eso de strlen pero ya que estoy quiero encontrar algun soluccion para esto.
Título: Re: [C++][AYUDA] problema con sizeof Publicado por: Littlehorse en 4 Mayo 2010, 16:38 pm No hay solución. sizeof realiza su tarea en tiempo de compilación. No puede adivinar cual es el tamaño de la cadena en ese contexto, ya que lo que le estas pasando es un puntero.
Si declaras cadenas a nivel global, entonces úsalas. Cualquier contenido declarado a nivel global puede utilizarse en el contexto de cualquier función, por lo tanto no tiene mucho sentido pasarlas como parámetro en el ejemplo que pusiste. Si utilizas las cadenas globales, sizeof te devolverá lo que esperas, si usas un puntero, sizeof te devolverá el tamaño del puntero. De la forma que lo quieres hacer no hay forma de solucionarlo. Evita en lo posible las declaraciones globales al menos que realmente las necesites. Aunque como solo están una linea arriba del main, creo que te equivocaste en la declaración. Saludos Título: Re: [C++][AYUDA] problema con sizeof Publicado por: anonimo12121 en 4 Mayo 2010, 17:12 pm e pensado hacer lo siguiente
crear un variable en la funcion char a[] hay copiar el contenido del puntero y sacar el valor ahora lo provare. saludos. Título: Re: [C++][AYUDA] problema con sizeof Publicado por: Littlehorse en 4 Mayo 2010, 17:31 pm No tiene sentido, pero en fin, si te pusiste como meta usar sizeof, haya vos ;D
Saludos! Título: Re: [C++][AYUDA] problema con sizeof Publicado por: anonimo12121 en 4 Mayo 2010, 17:39 pm por que no tiene sentido?
Título: Re: [C++][AYUDA] problema con sizeof Publicado por: Littlehorse en 4 Mayo 2010, 17:42 pm Porque no tiene sentido hacer una copia para luego usar sizeof. strlen te sirve perfectamente y puedes usarlo directamente con el char*.
|