Como leer dato a dato, fila a fila una SD

Perdón pero creo que voy a ser muy pesado poniendo temas con dudas. Aunque no lo penséis, en primer lugar miro en internet y leo algunos temas. Recurro aquí en última instancia. Mi duda:

Quiero almacenar en una Array todos los datos que se encuentren en un archivo. En primer lugar, mi gran duda es como hacer que identifique cuantas filas hay. Es decir, necesito declarar una matriz tal como MOD[i,j] donde i será el máximo valor de caracteres en una linea y j el número de lineas existentes lineas existentes. Como puedo hacer esto con una instrucción "for". Y a la vez almacenar cada dato según i,j obviamente.

Por ejemplo, he intentado hacer esto para palpar un poco el funcionamiento:

CH=SD.open("Check.txt");
i=0;
while (CH.available()){
MOD*=CH.read();*

  • i++;*
  • }*
    Serial.println(MOD[0]);
    El archivo contiene el número "05", en cambio cuando escribe MOD[0] me escribe el número 48.
    No se porque. No entiendo el funcionamiento quizás de la función read.
    Gracias por la ayuda y comprensión

MOD*=CH.read();*
Perdón. Pero no es el problema. Todo sigue igual

No se que pasa pero escribo mod (i) = CH.read() pero con corchetes y no me salen. No se

La respuesta es que la variable debe se char, si pongo int no se que diantres de número me saca. Quizás los bytes, no se. Si pones char mod entonces si que te coge perfectamente el número.

Aquí explica bastantes cositas sobre la escritura y lectura en SD:

No obstante todavía no se como puedo identificar lineas

wargadex:
No se que pasa pero escribo mod (i) = CH.read() pero con corchetes y no me salen. No se

lo que pasa es que tienes que usar las etiquetas para codigo, justamente las etiquetas llevan [ por eso no te las muestra

     MOD[1]=CH.read();

Para saber cuantas lineas tiene un archivo hay dos maneras:

Si todas las lineas tendrán exactamente el mismo numero de caracteres puedes usar file.size() y dividir entre el numero de caracteres que hay en cada linea (los saltos de linea y retrnos de carro también son caracteres)

Si no, puedes recorrer todo el archivo como haces con tu while, incrementando una variable cada vez que encuentres un salto de linea '\n'