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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como llenar un char desde el teclado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como llenar un char desde el teclado  (Leído 4,284 veces)
Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Como llenar un char desde el teclado
« en: 22 Marzo 2013, 05:34 am »

He creado una funcion que cuenta las vocales y consonantes que hay en un char[100]
pero quiero saber como puedo llenar ese char desde el teclado para que cada letra de la oracion ocupe un espacio en el char.

Quiero saber si es con for y scanf o si existe alguna funcion especial?

AYUDA, por favor y gracias.


En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Como llenar un char desde el teclado
« Respuesta #1 en: 22 Marzo 2013, 05:40 am »

Revisa la documentación que hace referencia a fgets() si no me equivoco esto es lo que estás buscando.


En línea

Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Re: Como llenar un char desde el teclado
« Respuesta #2 en: 22 Marzo 2013, 05:44 am »

Esa funcion que me diste, segun leo es para archivos.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como llenar un char desde el teclado
« Respuesta #3 en: 22 Marzo 2013, 05:54 am »

Puedes utilizarla sin problemas con la entrada estándar, para ello utilizas stdin como tercer argumento. Mas o menos así:
Código
  1. char linea[100];
  2.  
  3. /* ... */
  4.  
  5. fgets(linea, 100, stdin);
De esa forma lees una linea de texto de un máximo de 100 caracteres.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Re: Como llenar un char desde el teclado
« Respuesta #4 en: 22 Marzo 2013, 14:42 pm »

No me funciona es que debo crear una funcion que lea una frase e intento esto pero no funciona:

Código
  1. int funcion(){
  2. char oracion[80];
  3. printf("Introduce una oracion: \n");
  4. fgets(oracion, 80, stdin);
  5. }
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como llenar un char desde el teclado
« Respuesta #5 en: 22 Marzo 2013, 16:31 pm »

En casos como este por favor no respondas con "no funciona", "no sirve", etc. porque aun cuando se te quisiera ayudar no es posible sin la información suficiente.

Lo mejor aquí es publicar el código fuente completo.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Dacan

Desconectado Desconectado

Mensajes: 237



Ver Perfil WWW
Re: Como llenar un char desde el teclado
« Respuesta #6 en: 22 Marzo 2013, 19:31 pm »

He aqui la solucion:

Código
  1. char texto[50];
  2. printf("\nIntroduce una oracion: ");
  3. scanf(" %[^\n]", texto);  
En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Como llenar un char desde el teclado
« Respuesta #7 en: 22 Marzo 2013, 23:50 pm »

Hola! esto funciona bien:
Código
  1.    int funcion(){
  2.    char oracion[80];
  3.    printf("Introduce una oracion: \n");
  4.    fgets(oracion, 80, stdin);
  5.    }

El error puede ser porque no sabes como funciona fgets(para tu proposito) o podes tener un error en otro lado. Es por eso q se te pidio el programa completo

Saludos
En línea

Ahorrate una pregunta, lee el man
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como llenar un char desde el teclado
« Respuesta #8 en: 23 Marzo 2013, 05:24 am »

He aqui la solucion:

Código
  1. char texto[50];
  2. printf("\nIntroduce una oracion: ");
  3. scanf(" %[^\n]", texto);  
Utilizar scanf en esa forma no se recomienda porque genera el mismo problema que la función gets: no se puede limitar el numero de caracteres que leerá la función y si este sobrepasa la capacidad del array el programa revienta. Eso se puede evitar utilizando " %49[^\n]".

Si en tu caso fgets no tiene el efecto esperado eso se debe a un error en alguna parte del programa (hay que revisarlo completo) o bien estas intercalando llamadas a scanf con getchar/fgets/etc.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Llenar grafico desde visual basic
Programación Visual Basic
Ragde88 1 3,705 Último mensaje 4 Noviembre 2005, 00:57 am
por inodoro pereyra
Llenar un treeview desde varias tablas
.NET (C#, VB.NET, ASP)
wolf_ca9 4 10,510 Último mensaje 7 Octubre 2011, 10:57 am
por userdavid77
Help me!! Llenar treeview desde BackgroundWorker [Solucionado por fin]
.NET (C#, VB.NET, ASP)
odeONeSs 2 5,860 Último mensaje 27 Mayo 2009, 00:51 am
por odeONeSs
Como llenar este array desde una consulta a la DB?
PHP
luison 4 18,715 Último mensaje 15 Febrero 2010, 16:49 pm
por luison
Lectura de matríz de char como char** o DWORD*
Programación C/C++
david_BS 3 3,209 Último mensaje 20 Febrero 2012, 20:49 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines