Hola, tengo bastante avanzao mi proyecto pero depurando codigo me ha salido un problemilla que no llego a comprender porque.
Tengo una funcion que lee de una sd dos archivos
char *puntero[10]; //declarada como global el arrray para las lineas del segundo archivo
char *puntero2[10]; //declaro como global el arrray para las lineas del segundo archivo
void compara(char archivo1, char archivo2){
leo el primer archivo y quedan
*puntero[0] -->primera linea archivo 1
*puntero[1] -->primera linea archivo 2
*puntero[2] -->primera linea archivo 3
leo el segundo archivo y quedan
*puntero2[0] -->primera linea archivo 1
*puntero2[1] -->primera linea archivo 2
comparo para hacer otras cosas
int h;
for(h=0;h<3;h++){
if(*puntero[0]==*puntero2[1]){
Serial.Print(“funciona”);
}
}
Asi funciona correctamente pero dado que las lecturas las repito mucho para otras cosas queria hacer q lea cada archivo de forma separada, pero se me corrompen los datos o no los lee bien y no estiendo el porque, si hago asi:
void leer_primero(char archivo1){
*puntero[0] -->primera linea archivo 1
*puntero[1] -->primera linea archivo 2
*puntero[2] -->primera linea archivo 3
}
void leer_segundo(char archivo2){
*puntero2[0] -->primera linea archivo 1
*puntero2[1] -->primera linea archivo 2
}
void compara(){
leer_primero(“archivo1.txt”); //llamo a la funciona para leer el primero
leer_segundo(“archivo2.txt”); //llamo a la funcion para leer el segundo
int h;
for(h=0;h<3;h++){
if(*puntero[0]==*puntero2[1]){
Serial.Print(“funciona”);}
}
De esta segunda manera los datos se corrompen y no se porque, es posible que se guarden en la misma parte de memoria o algo al hacerlo por separa cuando haciendolo en una misma funcion funciona?? es la unica explicacion q tengo porque si la programacion esta bien deberia ir bien.
A ver si a alguien le ha pasado esto antes, no he puesto el codigo de lectura para no extender la cosa, a ver si doy con el problema o si se puede solucionar, ya que me rebaja bastates el codigo.
Nos vemos y gracias de antemano.
Un saludo