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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  leer frase con scanf
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: leer frase con scanf  (Leído 14,963 veces)
Fer995

Desconectado Desconectado

Mensajes: 17


Ver Perfil
leer frase con scanf
« en: 28 Octubre 2010, 20:03 pm »

como puedo hacer para leer una frase introducida en la consola??

probe con scanf pero solo lee hasta cuando hay un espacio!

muchas gracias!


« Última modificación: 30 Octubre 2010, 16:24 pm por Littlehorse » En línea

ace332

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: leer frase
« Respuesta #1 en: 28 Octubre 2010, 20:55 pm »

Utiliza fgets:

Código:
char cadena[100];
fgets(cadena,100,stdin);

Revisa la documentación de la función fgets.

Un Saludo


En línea

Fer995

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: leer frase
« Respuesta #2 en: 28 Octubre 2010, 23:32 pm »

muchas gracias!

no hay ningun modo de hacerlo con scanf??
En línea

klaussius

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Re: leer frase
« Respuesta #3 en: 29 Octubre 2010, 00:15 am »

muchas gracias!

no hay ningun modo de hacerlo con scanf??

No, no hay manera de hacerlo así, debes utilizar la biblioteca <string.h>... te dejo un trozo de código que me he encontrado por ahí:

Código:
#include <stdio.h>
#include <string.h>

char completo [80];

char nombre[32] = "Guybrush";
char apellidos [32] = "Threep Wood";

int main(void)
{
  /* Construye el nombre completo */
  strcpy ( completo, nombre );
  strcat ( completo, " ");  
  strcat ( completo, apellidos );

  /* Muestro el nombre al usuario */ 
  printf ( "El nombre completo es %s\n", completo );

  /* Pausa hasta que el usuario pulse INTRO */
  fflush(stdin);
  printf ("Pulse INTRO para finalizar...");
  getchar();
}
En línea

Hazlo o no lo hagas, pero no lo intentes. (Yoda)
taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: leer frase
« Respuesta #4 en: 29 Octubre 2010, 23:31 pm »

char frase[1000];

printf("introduce tu frase: ");
scanf("%s",frase);
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: leer frase
« Respuesta #5 en: 29 Octubre 2010, 23:34 pm »

char frase[1000];

printf("introduce tu frase: ");
scanf("%s",frase);
Incorrecto, os recomiendo que leais esto.

Saludos !
En línea

Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: leer frase
« Respuesta #6 en: 29 Octubre 2010, 23:50 pm »

para no poner una palabra x una yo hago esto
Código:
#include <stdio.h>
#include <string.h>
main () {
     char frase[100];
     int x,y;
     printf("escribi tu frase: ");
     gets(frase);
     y=strlen(frase)-1;
     for (x=0;x<=y;x++){
         printf("%c",frase[x]);
         }
         getchar();
         }
no se si esta bien o estoy pasando por alto algunos tips como los que escribio litle hace tiempo , pero buee :P
En línea

Fer995

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: leer frase
« Respuesta #7 en: 30 Octubre 2010, 01:25 am »

gracias por vuestras respuestas me han dado algunas ideas!
En línea

3mp3z@ndo

Desconectado Desconectado

Mensajes: 51


Ver Perfil
Re: leer frase
« Respuesta #8 en: 30 Octubre 2010, 02:49 am »

También podrías hacerlo de esta forma:
Código:
#include <stdio.h>

int main(){

  char frase[100];
  printf( "Escribe una frase:\n");
  printf( "\nHas escrito: \%s\n", gets(frase) );
 
  getch();
  return 0;
}

Saludos
En línea

Fer995

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: leer frase
« Respuesta #9 en: 30 Octubre 2010, 03:01 am »

También podrías hacerlo de esta forma:
Código:
#include <stdio.h>

int main(){

  char frase[100];
  printf( "Escribe una frase:\n");
  printf( "\nHas escrito: [b]\[/b]%s\n", gets(frase) );
 
  getch();
  return 0;
}

Saludos

que es lo que hace la barra delante del %s??
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
bucle, se come el primer scanf
Programación C/C++
Neibar 4 2,972 Último mensaje 14 Junio 2012, 23:32 pm
por Neibar
Duda con scanf
Programación C/C++
Caster 3 3,945 Último mensaje 29 Septiembre 2012, 13:01 pm
por Caster
Descifrar la frase oculta
Desafíos - Wargames
THEGAME008 8 5,454 Último mensaje 24 Agosto 2020, 07:47 am
por animanegra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines