RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  65904 - PROBLEMA: PUNTERO A CAMPO DE ESTRUCTURA
Autor:  Marcos Sanchez
Bueno, ando molestándolos nuevamente, tengo que hacer un programita que tiene que(entre otras cosas) leer un archivo de texto y corroborar si uno de los campos (el campo fecha), contiene un cero en alguno de los 4 primeros caracteres, para lo que use un puntero(cadena) para que apunte al arreglo (fecha), y el puntero itera a través de un lazo for. Pero me tira un error que me dice:

In function `void sacarRegCeros()':
46 C:... incompatible types in assignment of `char (*)[10]' to `char*[10]'

Espero que alguien me pueda ayudar, muchas gracias.

(Utilizo el dev cpp 4.9.9.2)
Este es el codigo:

//Este programa debe leer un archivo, y copiar los contenidos de las fechas de nac
// que no tengan ceros como principio. Ademas, los registros que estén bien,
//deben ser guardados y ordenados con un campo mas llamado numeroDeCliente.

#include <iostream>
#include <stdio.h>
#include <string.h>
#define ARCHIVO "PASADOBIEN.DAT"

struct cli {char fechaN[10];
char nombre[35];
char direccion[35];
};
struct client {int numeroDcli;
char feechaN[10];
char nombreE[35];
char direccionE[35];
};

FILE *archivoPtr;
FILE *pasPtr;

void abrirA(void);
void sacarRegCeros(void);
void guardarRe(struct cli comprobar);
void cerrar(void);
int main (void);
/******************************************************************************/
void abrirA(void)
{
archivoPtr = fopen("ARCHIVOnuevo.DAT", "r");
pasPtr = fopen ("PASADOBIEN.DAT", "a+");
sacarRegCeros();
return;
}
/******************************************************************************/
void sacarRegCeros(void)
{
fseek(archivoPtr, 0L, SEEK_SET);
struct cli comprobar;
memset(&comprobar,0,sizeof(comprobar));
int contador;
char *cadena[10];
cadena = &comprobar.fechaN;

while(archivoPtr != NULL)
{
for(contador = 0; contador <4; contador++)
{
if(cadena[contador] == 0)
{fseek(archivoPtr, sizeof(comprobar), SEEK_CUR);
}
if((contador == 3)&& cadena[contador] !=0)
{guardarRe(comprobar);
fseek(archivoPtr, sizeof(comprobar), SEEK_CUR);
}
}

}
return;
}
/******************************************************************************/
void guardarRe(struct cli comprobar)
{
fseek(pasPtr, 1L, SEEK_END);
struct client n;
n.numeroDcli = ftell(pasPtr)/sizeof(n);
strcpy(n.feechaN, comprobar.fechaN);
strcpy(n.nombreE, comprobar.nombre);
strcpy(n.direccionE, comprobar.direccion);
fwrite(&comprobar, sizeof(comprobar), 1, pasPtr);
return;
}
/******************************************************************************/
void cerrar (void)
{
fclose(archivoPtr);
fclose(pasPtr);
return;
}
/******************************************************************************/

/******************************************************************************/
int main(void)
{ abrirA();
cerrar();
printf("archivo procesado");
system("pause");
return 0;
}


Nombre
Apellidos
Correo
Comentarios