Me pisotean las variables

Iniciado por saltimbanki, 12 Noviembre 2020, 10:31 AM

0 Miembros y 1 Visitante están viendo este tema.

saltimbanki

Vereis estoy haciendo un programilla que se trata de pasar un fichero historico plano uuna StringGrid, empece por abrir el ficero en c, y nada , se me pisoteaban los datos, probe con c++, con getline,  y nada, tambien se pisoteaban los datos y ya por ultimo he probado con c y un swirch, vereis, aqui esta la struct;

Código (cpp) [Seleccionar]
struct c
{
    char fecha[10];
    char hora  [12];  // Marca hasta mmilisegundos
    int  rx;
    int  tx;
}readin;


pues bien, cuando empiezo a cargar la fecha no pasa nada,la coje perfectamente lo 10 primeras variales, el problema viene despues, cuando empiezo a cargar la hora, se me va marcando la hora, pero al mismo tiempo que cargamos la hora, el aparatejo este me añade los dato s de la hora tambien afinal de fecha, es decir

consigo meter :2020-10-21, esto lo mete bien en fecha y el programa pasa a otra operacion,
pero cuando empiezo a meter la hora en el campo hora me pasa esto

campo hora :13:14:50.669, pues segun meto esto es hora tambie me lo añade a fecha

Algien sabe por que ocuerre esto ???
Saludos




Mod: Obligatorio el uso de etiquetas GeSHi

MAFUS

Pon el código que se encarga de leer todos los datos del fichero.

CalgaryCorpus

Si lees un string que tiene X caracteres visibles tienes que reservar 1 espacio mas para poder guardar la marca de fin de string, o sea el tamano tiene que ser X+1, y si al momento de leer, lees X caracteres, asegurate de poner el 0 en la posicion final del arreglo.

Si no tienes intenciones de imprimir y solo guardas y no usas ninguna funcion de strings, no es necesario este espacio adicional, pero dado lo que te ocurre, tengo la impresion que tu si necesitas ese espacio adicional.
Aqui mi perfil en LinkedIn, invitame un cafe aqui