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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Pregunta de C scanf
« en: 15 Marzo 2013, 01:28 am »

En un programa de  veo la siguiente instruccion
scanf("%c %*c",&r)

para que sirve %*c

gracias


En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Pregunta de C scanf
« Respuesta #1 en: 15 Marzo 2013, 02:53 am »

Esperá que alguno del foro se moleste en googlearlo y te diga, mientras tanto fijate esto:
http://www.cplusplus.com/reference/cstdio/printf/
http://www.cplusplus.com/reference/cstdio/scanf/

PS: Usa la opción de 'traducir' de tu navegador Chrome.

88


En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Pregunta de C scanf
« Respuesta #2 en: 15 Marzo 2013, 04:18 am »

para que sirve %*c
El asterisco indica que el valor se lee pero no se almacena. Siguiendo tu ejemplo:
Código
  1. scanf("%c %*c",&r);
La función scanf con:

1) "%c" lee un carácter y lo almacena en la variable "r".
2) " " descarta todo el espacio blanco (espacio, tabulador, avance de linea, etc.).
3) "%*c" lee un carácter, este se descarta.

Es útil en ciertos escenarios, por ejemplo para leer una linea de un máximo de 100 caracteres pero sin incluir el avance de linea (de forma similar a la función gets):
Código
  1. char linea[101]; /* +1 para el '\0' */
  2.  
  3. /* ... */
  4.  
  5. scanf("%100[^\n]%*c", linea);
Con "%100[^\n]" se lee un máximo de 100 caracteres, la condición aquí es ser distintos de '\n' (el avance de linea), a continuación este se lee y descarta con "%*c".

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
g0rg3d3l4s3lv4

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Pregunta de C scanf
« Respuesta #3 en: 15 Marzo 2013, 04:21 am »

Muchas gracias a ambos, es exactamente la información que buscaba.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Parametros de api printf y scanf
Programación Visual Basic
krackwar 2 6,905 Último mensaje 21 Julio 2008, 18:00 pm
por krackwar
Duda con scanf
Programación C/C++
Caster 3 4,212 Último mensaje 29 Septiembre 2012, 13:01 pm
por Caster
scanf y gets « 1 2 »
Programación C/C++
m@o_614 16 8,369 Último mensaje 21 Julio 2013, 19:29 pm
por rir3760
[C] Comparación entre el gets y el scanf « 1 2 »
Programación C/C++
niñoAtómico 12 6,360 Último mensaje 12 Octubre 2013, 23:24 pm
por vangodp
sustituir scanf « 1 2 »
Programación C/C++
m@o_614 11 7,105 Último mensaje 17 Octubre 2013, 17:59 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines