String mit Teilen durch "\n" getrennt in system() ausführen



  • SeppJ schrieb:

    Und wieso ist das ein Problem, dass du die Kommandos als String hast?

    Dass getline char verlangt.


  • Administrator

    MitNase schrieb:

    SeppJ schrieb:

    Und wieso ist das ein Problem, dass du die Kommandos als String hast?

    Dass getline char verlangt.

    Nicht wenn du die freie std::getline Funktion verwendest, welche sich im Header <string> befindet.

    Grüssli



  • Dravere schrieb:

    MitNase schrieb:

    Danke für deine Hilfe. Das Problem ist, dass die Datei schon als String gebuffert ist. Aus einer anderen Quelle. Ansonsten müsste ich die den Inhalt des Strings als Datei speichern und anschließend wieder öffnen.

    Du kannst auch einen istringstream verwenden:

    #include <string>
    #include <sstream>
    
    int main()
    {
      std::string buffer = "hello\nworld\nthis\nwhatever";
      std::istringstream iss(buffer);
    
      std::string line;
      while(std::getline(iss, line))
      {
        // mach was mit line ...
      }
    
      return 0;
    }
    

    Könntest das ganze natürlich auch in Tokens aufteilen mit std::string::find und std::string::substr .

    Grüssli

    Endlich mal was, was funktioniert! Tausend++ Dank!


Anmelden zum Antworten