Autor
|
Tema: problemas con string Urgente (Leído 1,585 veces)
|
ostavio09
Desconectado
Mensajes: 1
|
tengo un problema con la lectura de caracteres con espacios por que solo me pide el primero y el resto se lo salta no se más que hacer necesito una solucion lo antes posible porfavor
#include <stdio.h> #include <string.h>
struct contac { char nombre[15]; char email[20]; char direccion[40]; char telefono[15]; };
void agregar_contacto(struct contac contactos[]);
int main(){ struct contac contactos[10];
agregar_contacto(contactos);
printf("Nombre es %s\n", contactos[0].nombre); printf("email es %s\n", contactos[0].email); printf("direccion es %s\n", contactos[0].direccion); printf("telefono es %s\n", contactos[0].telefono);
return 0; }
void agregar_contacto(struct contac contactos[]){ int i; int n=1; for(i=0;i<n;i++){ printf("Ingrese el nombre\n"); scanf("%[^\n]", contactos.nombre);
printf("Ingrese el email\n"); scanf("%[^\n]", contactos.email);
printf("Ingrese la direccion\n"); scanf("%[^\n]", contactos.direccion);
printf("Ingrese el numero de telefono\n"); scanf("%[^\n]", contactos.telefono);
} }
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).
----
El problema que mencionas se debe al uso en la llamada a scanf del especificador "%[^\n]", con el lees todos los caracteres de la linea menos el '\n', este se queda en el bufer de la entrada estándar y causa que todas las siguientes llamadas (a la mentada función) terminen de inmediato. La solución mas fácil es utilizar " %[^\n]", el espacio antes del símbolo de porcentaje es critico ya que con el se descarta primero el espacio blanco.
Otra opción para leer por linea es fgets. Por ultimo en la función main solo imprimes el primer registro, supongo falta ahí un bucle para imprimirlos todos.
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como cifrar un String?? y que siga siendo String...
.NET (C#, VB.NET, ASP)
|
Skeletron
|
2
|
5,284
|
27 Febrero 2009, 23:52 pm
por jackl007
|
|
|
Problemas con String
Java
|
Shell Root
|
4
|
3,901
|
15 Septiembre 2010, 16:04 pm
por Xedrox
|
|
|
[Solucionado] Comparar un String con cada una de las partes de otro String
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Segurida
|
13
|
12,390
|
14 Mayo 2011, 18:52 pm
por Segurida
|
|
|
como puedo hacer q mi JTextArea me imprima mas de un dato string datos string
Dudas Generales
|
alda19
|
1
|
5,568
|
15 Junio 2011, 03:18 am
por Novlucker
|
|
|
problemas al intentar reemplazar string en la memoria.
« 1 2 »
Programación C/C++
|
Destro-
|
11
|
5,456
|
29 Noviembre 2011, 08:59 am
por Eternal Idol
|
|