Aus einem char array zwei float Zahlen auslesen?

Guten Tag,

ich habe wieder ein C/C++ Prgrammierproblem.

char sResult[254];
//fill sResult

printf(„sResult = %s\n“,sResult);

sResult enthält folgendes:
1TP0.0000\n2TP0.0000
Das „\n“ ist ein Zeilenumbruch.

Bei dem füllen des Arrays ist immer ein 1TP gefolgt von einer Kommazahl. Danach ein Zeilenumbruch und 2TP gefolgt von einer Kommazahl. Die Formatierung ist auch immer gleich (siehe Bsp.)
Ich möchte nun die beiden Kommazahlen in unterschiedlichen Variablen speichern. Wie mache ich das?

Hallo Chenda

Das kannst du mit dieser Funktion machen:
http://cplusplus.com/reference/clibrary/cstdlib/strtod/

#include 
#include 
#include 
#include 
So wie bei der strtol() auch, muss man erst nachruecken, mit der skipIt().

lG
Martin B

Viel zu umstaendlich
Hi,

wenn das Format „immer“ gleich ist, dann wie folgt:

#include 

int main()
{
 const char val[] = "1TP1.2345\n2TP2.3456";
 double a = 0.0, b = 0.0;
 int rc = sscanf(val,"1TP%lf\n2TP%lf",&a,&b);

 printf("rc=%d a=%f b=%f\n", rc,a,b);

 return 0;
}

Gruss
norsemanna