Mettre le contenu d'un fichier .txt dans une variable

J'aimerai mettre le fichier tel.txt dans une variable pour qu'il permette d'envoyer un SMS.
voici le programme:

#include <SoftwareSerial.h>
#include <String.h>
#include <SPI.h>
#include <SD.h>

#define gsm_TX 10
#define gsm_RX 9

SoftwareSerial gsm(gsm_RX, gsm_TX);
const int chipSelect = 4;

void setup() {

  Serial.begin(9600);
  while (!Serial) {
    ;
  }
  Serial.println("Initializing SD card...");
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");
  File tel = SD.open("tel.txt");
  File endroit = SD.open("endroit.txt");
  String tel1="tel.read";
  String message="endroit.read";
  if (tel) {
    while (tel.available()) {
      Serial.write(tel.read());
    }
    tel.close();
    
  }
  else {
    Serial.println("error");
  }
  if (endroit) {
    while (endroit.available()) {
      Serial.write(endroit.read());
    }
    endroit.close();
  }
  else {
    Serial.println("error");
  }
 

  while (!Serial);
  gsm.begin(9600);
  delay(1000);
  Serial.println("Setup fait");
  Serial.println("Envoi sms ...");
  gsm.write("AT+CMGF=1\r\n");
  delay(1000);
  String num = "AT+CMGS="+tel1+"\r\n";
  gsm.println(num);
  delay(1000);
  gsm.println(message);
  Serial.println(message);
  delay(1000);
  gsm.write((char)26);
  delay(1000);
  Serial.println("sms envoyé");

}

void loop() {
}

a) Quelle est la taille de votre fichier txt (en passant, sachez que nommer un fichier "fichier" n'est pas très confortable)
b) Quel arduino utilisez vous (et, avec le programme que vous souhaitez adapter, quelle est la RAM -peut être- disponible?

Le fichier s'appelle tel.txt et il n'y a qu'un numéro de téléphone
J'utilise un arduino uno et je ne sais pas combien il y a de ram

Dans la UNO, il y a 2K de RAM. C'est pas énorme.
Déjà, pour économiser la RAM, au lieu d'ouvrir les 2 fichiers en même temps et de les traiter l'un après l'autre. Il serait plus économique d'ouvrir un fichier, d'en extraire le contenu et de le fermer, d'ouvrir le deuxième, d'en extraire le contenu et de le fermer.

Maintenant, tu n'as pas posé de question donc qu'est-ce que tu attends de nous?

Bon, je vous ai écrit un bout de code qui
a) met le numero de telephone et l'endroit dans deux tableaux, l'un de 100 cars (telephone), l'autre de 200; faute d'info d'intendance, je parie que ça tiendra; les numeros de telephones sont filtrés (contraints à n'être que des chiffres.
b) sépare la gestion des deux fichiers, pour tenir compte de la remarque -judicieuse- de fdufnews

#include <SoftwareSerial.h>
#include <String.h>
#include <SPI.h>
#include <SD.h>

#define gsm_TX 10
#define gsm_RX 9

SoftwareSerial gsm(gsm_RX, gsm_TX);
const int chipSelect = 4;

char numero[100], endroit[200];
uint8_t lgNumero= 0, lgEndroit=0; // deux indices de remplissage
void setup() {
    // met à null les numeros de telephone et l'e,droit (resident en RAM)

    Serial.begin(9600);
    while (!Serial) {
        ;
    }
    Serial.println("Initializing SD card...");
    if (!SD.begin(chipSelect)) {
        Serial.println("Card failed, or not present");
        return;
    }
    Serial.println("card initialized.");
    File tel = SD.open("tel.txt");
    String tel1="tel.read";
    String message="endroit.read";
    if (tel) {
        while (tel.available()) {
            char c = tel.read();
            if ((c >= '0') && (c <= '9')) {
                numero[lgNumero] = c;
                lgNumero = lgNumero+1;
            }
            //Serial.write(tel.read());
        }
        // ecriture de controle
        for (uint8_t i = 0; i < lgNumero; i++) Serial.write( numero[i]);
        tel.close();
    } else {
        Serial.println("erreur ouverture tel.txt");
        return;
    }

    File endroit = SD.open("endroit.txt");

    if (endroit) {
        while (endroit.available()) {
            char c = endroit.read(); // on ne controle pas la vraisemblance de c
            //Serial.write(endroit.read());
            endroit[lgNumero] = c;
            lgEndroit = lgEndroit+1;
        }
        endroit.close();
        // ecriture de controle
        for (uint8_t i = 0; i < lgEndroit; i++) Serial.write( endroit[i]);
    } else {
        Serial.println("erreur ouverture endroit");
        return;
    }


    while (!Serial);
    gsm.begin(9600);
    delay(1000);
    Serial.println("Setup fait");
    Serial.println("Envoi sms ...");
    gsm.write("AT+CMGF=1\r\n");
    delay(1000);
    String num = "AT+CMGS="+tel1+"\r\n";
    gsm.println(num);
    delay(1000);
    gsm.println(message);
    Serial.println(message);
    delay(1000);
    gsm.write((char)26);
    delay(1000);
    Serial.println("sms envoyé");

}