• Sábado 14 de Diciembre de 2024, 22:42

Autor Tema:  Strlen  (Leído 2256 veces)

mnv_19

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Strlen
« en: Miércoles 30 de Mayo de 2007, 15:33 »
0
Hola! me gustaria saber como se interpreta la siguiente sentencia para una defensa de una practica que tengo dentro de una hora:
la sentencia es la siguiente:

while(!feo(f1)){
fgets(pal,255,f1); //hasta aqui se lo que hace, ahora...
palabra[strlen(palabra)-1]='\0'; //esta ultima es en la que tengo duda,ayuda urgente por favor!gracias d antemano!
"Los verdaderos programadores no hablan de su código. Fue difícil escribirlo, y aun mucho mas entenderlo."

"Los ordenadores no son inteligentes. Solo creen que lo son."

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Strlen
« Respuesta #1 en: Miércoles 30 de Mayo de 2007, 15:40 »
0
Devuelve el tamaño de una cadena ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

mnv_19

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Strlen
« Respuesta #2 en: Miércoles 30 de Mayo de 2007, 15:41 »
0
se que strlen devuelve la longitud de la cadena, gracias, pero l que necesito saber es lo que hace esa sentencia con el \0 al final gracias n saludo
"Los verdaderos programadores no hablan de su código. Fue difícil escribirlo, y aun mucho mas entenderlo."

"Los ordenadores no son inteligentes. Solo creen que lo son."

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Strlen
« Respuesta #3 en: Miércoles 30 de Mayo de 2007, 15:45 »
0
Asignar el valor 0 (fin de cadena) a un elemento del array (el ubicado en strlen - 1).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Strlen
« Respuesta #4 en: Miércoles 30 de Mayo de 2007, 15:48 »
0
Asigna un nulo en la última posición de palabra, es decir que elimina el último caracter.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

mnv_19

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Strlen
« Respuesta #5 en: Miércoles 30 de Mayo de 2007, 15:51 »
0
Se podria decir que introduce el caracter nulo despues de la palabra?es decir en el espacio que hay despues de la palabra?
"Los verdaderos programadores no hablan de su código. Fue difícil escribirlo, y aun mucho mas entenderlo."

"Los ordenadores no son inteligentes. Solo creen que lo son."

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Strlen
« Respuesta #6 en: Miércoles 30 de Mayo de 2007, 16:00 »
0
Cita de: "mnv_19"
Se podria decir que introduce el caracter nulo despues de la palabra?es decir en el espacio que hay despues de la palabra?
No, reemplaza el último caracter de la palabra con un nulo.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Strlen
« Respuesta #7 en: Miércoles 30 de Mayo de 2007, 16:14 »
0
Fijate cual es el ultimo caracter que devuelve fgets.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Strlen
« Respuesta #8 en: Miércoles 30 de Mayo de 2007, 16:32 »
0
Es que no está utilizando fgets para leer palabra, por eso no le puedo asegurar si el último caracter sea un espacio o no.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.