Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2011, 18:01
Amphoth3ra
 
Fecha de Ingreso: mayo-2011
Mensajes: 26
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: [C] 2 problemas con uso de cadena de caracteres

Me respondo solo porque encontré la solución mirando algunos temas similares en el foro, el tema lo resolví usando:

Código:
scanf("%*c%[^\n]",variable);
Lo cual no tuve problema en implementar, me sacó el warning y el problema que comentaba.
Código C:
Ver original
  1. printf("Rut de la persona\n");
  2. scanf("%*c%[^\n]",data_save.rut);
  3. printf("Nombre de la persona\n");
  4. scanf("%*c%[^\n]",data_save.nombre);
  5. printf("Edad de la persona\n");
  6. scanf("%d", &data_save.edad);

Pero ahora tengo otra duda y se refiere a la impresión por pantalla, ya que lo que ahora estoy buscando es que lo que yo guarde se busque por un atributo, y si coincide con ese atributo se imprima por pantalla usando mas o menos este formato:

Código:
Rut              Nombre                                         Edad
--------------------------------------------------------------------
Y estoy probando con un programa aparte para poder luego insertarlo a mi programa general. Para ello estoy usando una serie de valores de rut, nombre y edad de prueba, del mismo tipo que las variable originales, para ver si la impresión me sale bien. Sé que con la edad no voy a
tener problemas, pero sí tengo confusión con los otros dos tipos que tengo que imprimir por pantalla, porque no sé de qué tipo ponerlos en el printf para que me salgan enteros los valores.

Este es el programa de prueba. Al compilar en GCC tira avisos de incompatibilidad.

Código C:
Ver original
  1. int main()
  2. {
  3.  
  4.     char rut[12]= ("11.715.624-3");
  5.     char nombre[255] = ("Veronica Varela");
  6.     int edad = 41;
  7.  
  8.     printf("Rut              Nombre                                         Edad\n");
  9.     printf("--------------------------------------------------------------------\n");
  10.     printf("%*c%[^\n]  %*c%[^\n] %d", rut, nombre, edad);
  11.  
  12. return (0);
  13. }

Saludos.