Afficher contenu Chaine de caractere

en effet j'ai fait les modifs et cela semble un peu plus correct à l'affichage mais pas encore complètement ca.

j'ai remplacé le print par un write, je ne connais pas bien la différence.

Le texte dans la variable mot ne semble pas initialisé, j'essaie d'y mettre la valeur vide avec la syntaxe suivante
mot == ""; est ce correct ? si c'est bon alors je ne sais pas pourquoi je n'arrive pas à afficher ce qu'il y a dans mot .. ou alors je ne charge pas correctement les caractères.

/*
  SD card read/write
  
#include <SD.h>

File myFile;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  
   pinMode(10, OUTPUT);
   
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
  char data[3000];
  char caractere;
  char mot[50];
  int i = 0;
  int j = 0;
  mot == "";
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
    
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      
   
    if (caractere == (';')) {
      Serial.print("ca marche");
      j = 0;
      i = 0;
      mot == "";
    do 
    { 
     
      caractere = (myFile.read());
      data[i] = caractere;
      mot[j] = caractere;
    Serial.write(data[i]);
    Serial.write(mot);
    // Serial.print("idem");
       i++;
       j++;
    } while ((caractere != (';')) && (myFile.available()));
            
    }
      caractere = (myFile.read());
      data[i] = caractere;
    	Serial.write(data[i]);
   // Serial.println(i);
    }
    
    // close the file:
    myFile.close();
  } else {
  	// if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
	// nothing happens after setup
}