Almacenar datos de varios tipos de un txt
Publicado por Peter (4 intervenciones) el 17/06/2010 15:20:38
Hola! Estoy haciendo un pograma que crea una base de datos en un .txt,
El problema que tengo es que el campo de la edad no me lo guarda bien en el .txt. Me aparece un cuadrado en mi archivo txt donde me debería de aparecer la edad, por otro lado este carácter que es un cuadrado no puedo pegarlo en esta nota del foro para que lo veaís. ¿A qué se debe eso?
Lo que quiero es almacenar algunos datos no como tipo char sino como otros tipos como float e int, pero no sé como hacer esto en un txt.
Podría almacenar los datos como caracteres y luego hacer una conversión de datos, pero creo que hay un modo para no tener que recurrir a la conversión de datos.
¿Alguien sabe como hacerlo sin que haya que recurrir a convertir los datos de un tipo a otro?
A continuación os pasó el código del programa.
Gracias por vuestra ayuda.
#include <stdio.h>
struct {
char nombre[20];
char apellido[20];
char telefono[15];
int edad;
} registro;
int main()
{
FILE *fichero;
fichero = fopen( "datos.txt", "a" );
do {
printf( "Nombre: " ); fflush(stdout);
gets(registro.nombre);
if (strcmp(registro.nombre,""))
{
printf( "Apellido: " ); fflush(stdout);
gets(registro.apellido);
printf( "Teléfono: " ); fflush(stdout);
gets(registro.telefono);
printf( "edad: " ); fflush(stdout);
scanf("%d", ®istro.edad);
getchar();
fwrite( ®istro, sizeof(registro), 1, fichero );
}
} while (strcmp(registro.nombre,"")!=0);
fclose( fichero );
}
Gracias por vuestra valiosa ayuda.
Peter.
El problema que tengo es que el campo de la edad no me lo guarda bien en el .txt. Me aparece un cuadrado en mi archivo txt donde me debería de aparecer la edad, por otro lado este carácter que es un cuadrado no puedo pegarlo en esta nota del foro para que lo veaís. ¿A qué se debe eso?
Lo que quiero es almacenar algunos datos no como tipo char sino como otros tipos como float e int, pero no sé como hacer esto en un txt.
Podría almacenar los datos como caracteres y luego hacer una conversión de datos, pero creo que hay un modo para no tener que recurrir a la conversión de datos.
¿Alguien sabe como hacerlo sin que haya que recurrir a convertir los datos de un tipo a otro?
A continuación os pasó el código del programa.
Gracias por vuestra ayuda.
#include <stdio.h>
struct {
char nombre[20];
char apellido[20];
char telefono[15];
int edad;
} registro;
int main()
{
FILE *fichero;
fichero = fopen( "datos.txt", "a" );
do {
printf( "Nombre: " ); fflush(stdout);
gets(registro.nombre);
if (strcmp(registro.nombre,""))
{
printf( "Apellido: " ); fflush(stdout);
gets(registro.apellido);
printf( "Teléfono: " ); fflush(stdout);
gets(registro.telefono);
printf( "edad: " ); fflush(stdout);
scanf("%d", ®istro.edad);
getchar();
fwrite( ®istro, sizeof(registro), 1, fichero );
}
} while (strcmp(registro.nombre,"")!=0);
fclose( fichero );
}
Gracias por vuestra valiosa ayuda.
Peter.
Valora esta pregunta


0