Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Littlehorse

#841
Hardware / Re: Precio de la Fuente.
5 Mayo 2010, 23:34 PM
Te cambiaron la fuente o te la arreglaron? que fuente?
#842
Programación C/C++ / Re: duda2
5 Mayo 2010, 23:12 PM
fgets se utiliza en C por la posibilidad de pasar la cantidad a leer como argumento. fgets deja el salto de linea en la cadena porque lo considera un carácter valido, pero si el contenido alcanza el final de la cadena el salto de linea también queda en buffer.

Hay otras variantes en C++, por ejemplo, cin.getline, que descarta el salto de linea (también tienes getline para strings)

Saludos
#843
No, no era mas fácil. Primero porque no es solamente un operador de C, segundo porque su utilidad depende de su contexto.

De cualquier manera, la duda ya fue resuelta algunos posts mas atrás.

Saludos!
#844
Programación C/C++ / Re: duda2
5 Mayo 2010, 22:55 PM
Cita de: ^Winder^ en  5 Mayo 2010, 22:35 PM
Sí, cin es mas limpia que scanf, porque este último no limpia el buffer.

cin no limpia el buffer tampoco. La diferencia es que si por ejemplo, lees un numero, si luego vuelves a leer otro numero se lee el salto de linea pero se descarta, pero si por ejemplo lees una cadena o un carácter sucede lo mismo que con scanf. Es decir, el salto de linea permanece en buffer en ambos casos.

Igualmente no se pueden comparar, son dos lenguajes distintos, uno es un objeto y el otro es una función. No son comparables salvo a grandes rasgos por lo que no tiene caso ahondar en las diferencias.

Saludos
#845
setbuf


Con fgets es conveniente leer n-1 del espacio total de la cadena, para asegurarte que luego puedes finalizar la cadena con '\0', aunque la función igualmente lo hace por vos, es conveniente asegurarse. En C, lamentablemente, nunca te tienes que olvidar de los '\0'.

Saludos!
#846
Programación C/C++ / Re: Ayuda (DEV C++)
4 Mayo 2010, 22:58 PM
Usa la etiqueta GesHI para poner código, y no hagas doble post.

Citar
alguien que me explique.

Usa el buscador, tienes infinidad de ejemplos!

Saludos
#847
Porque no tiene sentido hacer una copia para luego usar sizeof. strlen te sirve perfectamente y puedes usarlo directamente con el char*.
#848
No tiene sentido, pero en fin, si te pusiste como meta usar sizeof, haya vos  ;D

Saludos!
#849
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
#850
En ese contexto, sizeof te da el tamaño del puntero (4 bytes). Utiliza strlen.