Pages: [1]   Go Down
Author Topic: Von SD eine TXT einlesen mit einem Wert  (Read 365 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich rufe mit
Code:
float raum2_temp = readIntFromFile("r2temp.txt");

die Funktion:

Code:
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
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 143
Posts: 3009
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

   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?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 39
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo jurs,

danke für den Tipp .... manchmal ist man echt blind als Newbie smiley-sad

"atof" hat das Problem gelöst ^^

Gruß
jens
Logged

Pages: [1]   Go Up
Jump to: