C/Visual C - Problemas con fgets

 
Vista:

Problemas con fgets

Publicado por dimus (2 intervenciones) el 22/09/2002 02:45:15
Hola.
Tengo un problema con fgets, os comento lo que hace el programa, lo primero que haces es pedir una opcion, si la opcion es 'a' despues deberia insertar una frase usando fgets, pero esto no ocurre, he leido algo sobre que scanf pone un '\n' a las variables. ¿alguien sabe como soluccionar el problema? Muchas gracias.

#include <stdio.h>

int main()
{
char empezar,opcion,phrase[50];

do{
printf("inserta una opcion: ");
scanf("%c",&opcion);
switch(opcion){

case 'a':
printf("inserta una frase:");
fgets(phrase,sizeof(phrase),stdin);
printf("la frase es: %s",phrase);
break;

}

printf("¿empezar (s/n)?: ");
scanf(" %c",&empezar);
}while(empezar=='s');
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Problemas con fgets

Publicado por Javier Albornoz (59 intervenciones) el 23/09/2002 01:29:08
Hola, me parece que podrías usar tambien:
char phrase[50];
gets(phrase);

Si lo haces con scanf("%s", phrase); sólo almacenarías en el array hasta el primer espacio que escribas, ..con gets este problema no existe. Es decir que si quieres ingresar por ejemplo José Paz, podrías escribirlo, pero al pulsar enter, scanf sólo te va a guardar José en el array.
Espero que te sirva
(..*..)


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar