Auslesen von TXT Datein auf einer SD Karte

Der Rückgabe - Datentyp kann , wenn du willst, ruhig ein char* sein. Aber die Speicherzellen, die den ErgebnisText enthalten,
müssen vom Aufrufer bereitgestellt werden.
Ach ja, und falls du den Text nach dem Ende von setup() noch brauchst, darf das natürlich keine lokale temporäre Variable in setup sein.

buffer = internerbuffer

Welcher ist was ?
Ein Tip: den buffer der für readIntFromFile() zeitweise gebraucht wurde, ist hier gar nicht erforderlich.
So sollte es auch gehen:

char * readTextFromFile(const char* filename, char* buf, int maxBuf) {
   File myFile = SD.open(filename);
   int pos=0;
   if (myFile) {
      // read from the file until there's nothing else in it:
      while (myFile.available() && pos < (maxBuf-1)) {
    	buf[pos++] = myFile.read();
      }
      myFile.close();
      buf[pos]=0; // EndeKennung
      return buf;
   }
   else {
      return NULL;
   }       
}