Von SD eine TXT einlesen mit einem Wert

Hallo,

ich rufe mit

 float raum2_temp = readIntFromFile("r2temp.txt");

die Funktion:

static const int BUFSIZE=50;
static char buffer[BUFSIZE];


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

  }

  return 0; // Fehler: Datei nicht gefunden
}

auf, hab aber das Problem das in der r2temp.txt eine Zahl mit Kommastele steht z.B. 19,25
Die Funktion gibt mir immer nur den Teil vor der Kommastelle wieder.
Kann mir jemand helfen ?

Vielen Dank

Gruß
Jens

Lan-Police:
return (atoi(buffer));
...
Die Funktion gibt mir immer nur den Teil vor der Kommastelle wieder.

Klar: Wenn Du die Array-to-Integer (atoi) Funktion aufrufst, dann liefert diese Funktion immer einen Integer-Wert zurück.

Wenn es anders wäre, dann wäre das für eine "to integer" Umwandlungsfunktion auch etwas merkwürdig, oder?

Hallo jurs,

danke für den Tipp .... manchmal ist man echt blind als Newbie :frowning:

"atof" hat das Problem gelöst ^^

Gruß
jens