elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema al leer desde la bibliteca standar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al leer desde la bibliteca standar  (Leído 144 veces)
Curioso0078

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Problema al leer desde la bibliteca standar
« en: 15 Marzo 2017, 19:06 »

Tengo que crear una funcion que devuelva un texto (Una palabra) leido desde la entrada estandar. Como es una palabra, la funcion lee hasta encontrar un espacio en blanco. Ademas esta la condicion de que la palabra no puede ser mayor a 20.
Tengo que hacerlo mediante punteros y estructuras por eso, lo que hice fue lo siguiente:

Código
  1. struct textoenstruct;
  2.  
  3. typedef textoenstruct *puntero_a_struct;
  4.  
  5. struct textoenstruct {
  6.  char caracteres[21];
  7.  nat longitud;
  8. };
  9.  
  10. puntero_a_struct palabra() {
  11. puntero_a_struct final = new textoenstruct[21];
  12. scanf("%c",final>caracteres);
  13. int i = 0;
  14. while (i != strlen(final->caracteres))
  15. {
  16. if (final->caracteres[i] == "\0")
  17. {
  18. int h = i;
  19. while (h < i)
  20. {
  21. final->caracteres[h] = "\0";
  22. h++;
  23. }
  24. i++;
  25. }
  26. }
  27. return final;
  28. }
  29.  

El problema es que no esta funcionando, y no se estoy haciendo mal, para mi tiene logica, pues, crea "textoenstruct", y al colocar "final->caracteres" en scanf, se coloca ahi la palabra, si se coloca "hola como estas" con el convierte desde la "c" hasta el final de la segunda palabra en "\0", ya que no se pueden achicar vectores la pense asi. Pero sigue sin funcionar


En línea

ivancea96


Conectado Conectado

Mensajes: 3.270


ASMático


Ver Perfil WWW
Re: Problema al leer desde la bibliteca standar
« Respuesta #1 en: 15 Marzo 2017, 19:21 »

scanf recibe como primer parámetro una cadena dependiendo de lo que quieras leer. %c es apra caracter. 1 caracter. %s es para una cadena. Prueba con %s.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines