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)
| | |-+  formato %[abc]... [c]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: formato %[abc]... [c]  (Leído 1,404 veces)
flacc


Desconectado Desconectado

Mensajes: 854



Ver Perfil WWW
formato %[abc]... [c]
« en: 4 Julio 2012, 03:58 am »

Hola, pues verán, en el libro Introducción a la programación en C, pag 69 del pdf, aparece lo de los formatos %^[abc] y %[abc] que permiten leer una cadena de caracteres hasta encontrar los que están dentro de los corchetes...

el problema es que busco por formato en google y otras cosas y no logro encontrar información acerca de eso, como el pdf no lo explica mucho no acabo de entender como se utiliza ni como funciona y solo me queda una baga idea de lo que hacen... si alguien fuera tan amable de explicarme con un ejemplo o decirme con que nombre buscar en google para poder aprender a usarlos se los agradecería mucho...saludos


En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: formato %[abc]... [c]
« Respuesta #1 en: 4 Julio 2012, 08:55 am »

¡Buenas!

Si mal no recuerdo %[^secuencia] rastrea caracteres desde la entrada hacia una una cadena (con scanf) hasta que encuentra uno que pertenece a la lista (es decir, devuelve desde la entrada, el segmento inicial hacia la cadena que se pasa como argumento a scanf que no esta compuesto por caracteres de la secuencia). %[secuencia] seria lo contrario, devolveria el segmento inicial de la carena indicada que este formado solo por caracteres de la secuendia indicada.

ejemplo:
Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *agrv[])
  4. {
  5.    char s1[10] = "", s2[10] = "";
  6.  
  7.    scanf("%[abc]",s1); //leemos de la entrada la secuencia inicial formada por caracteres a,b o c.
  8.  
  9.    while(getchar() != '\n'); //descartamos los caracteres que queden.
  10.  
  11.    scanf("%[^abc]",s2); //leemos de la entrada la secuencia inicial no formada por caracteres a,b o c.
  12.  
  13.    while(getchar() != '\n'); //descartamos los caracteres que queden.
  14.  
  15.    printf("%s\n,%s\n",s1,s2);
  16.  
  17.    printf("Pulsar intro...");
  18.    while(getchar() != '\n');
  19.  
  20.    return 0;
  21. }
  22.  
  23.  

¡Saludos!


« Última modificación: 4 Julio 2012, 20:22 pm por do-while » En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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