Zahlen aus unstrukturiertem String heraus lesen.



  • Hallo zusamen,

    ich stehe for folgendem Problem. Ich möchte eine Funktion schreiben die einen String als Übergabeparameter besitzt.

    Der String ist allerdings nicht auf eine bestimmte Länge begrentzt und hat auch kein bestimmtess Format. Allerdings sind darin immer irgendwie 3 doube Zahlen enthalten.

    Die Funktion soll diese 3 Zahlen nun heraussuchen und sie mir in drei Verschiedenen double Variablen speichern.
    Nun wollte ich gerne wissen, ob es vieleicht ein Funktion in C++ gibt, die mir automatisch die 1. gefundene Zahl zurück gibt und die ich dann per Schleife einfach weiter zählen lassen kann?



  • eine abwandlung davon vielleicht?

    #include <sstream>
    #include <string>
    
    void fun (std::string const& data)
    {
       std::istringstream tmp(data);
    
       double d[3];
       int index = 0;
    
       while (index < 3)
       {
          if (tmp >> d[index]) ++index;
          else tmp.clear(), tmp.ignore();
       }
    }
    

    vorausgesetzt, es trifft zu, dass immer 3 zahlen in diesem string sind.


Anmelden zum Antworten