Título: Problema con espacios de un string Publicado por: danibdn en 30 Mayo 2011, 10:06 am Buenas, pues tengo un pequeño problema con un programa para guardar contactos en un archivo, usando struct, punteros, funciones...etc.
Al guardarse en el archivo se queda: 1.Nombre 2.Apellido 3.Segundo apellido 4.Direccion 5.Telefono En el archivo queda bien guardado, pero al imprimirlo en el programa imprime: 1.Nombre 2.Apellido 3.Segundo apellido 4.Primera palabra de direccion 5.Segunda palabra de direccion Y imprime otro contacto con: 1.Tercera palabra de direccion 2.Telefono Os dejo la funcion que muestra todos los contactos guardados en el archivo: void mostrar(void){ int ct; for (ct=0;ct<p1;ct++) { printf("\n\nNom: %s %s %s\n", entrada[ct].nom, entrada[ct].cognom1, entrada[ct].cognom2); printf("\nDireccio: %s\n", entrada[ct].direccio); printf("\nTelefon: %s\n", entrada[ct].telefon); //printf("\nEntrada %d: \n%s \n%s \n%s \n%s \n%s\n", ct, entrada[ct].nom,entrada[ct].cognom1, entrada[ct].cognom2,entrada[ct].direccio,entrada[ct].telefon); } system("pause"); return; } Como puedo hacer que me lo imprima correctamente? Algo he leido del getline, pero tampoco sabria usarlo... Muchas gracias por adelantado, y un saludo! Título: Re: Problema con espacios de un string Publicado por: Fer995 en 7 Junio 2011, 03:41 am creo que tu problema viene porque estas leyendo las direcciones etc con fscanf o scanf que lee hasta el primer espacio que encuentra o si no asta el fin d cadena!
deberias usar mejor fgets que lee lineas enteras con espacios. los printf estan bien creo! |