0 Daumen
500 Aufrufe

Ich habe einen Sensor der mir alle seine Messdaten als char augibt, getrennt durch ein Komma.

Ich möchte jeden Wert bis zum Komma als eigene Variable ausgeben.


Also ich habe:

Char VariableX = 1,2,3,4,5,6,7,8,9


Und will:

variableA = 1 

variableB = 2

variable C = 3 usw.


Mein Ansatz:


#include <iostream>
#include <string>
#include <sstream>

using namespace std;


int main()

{
    Char("VariableX");
    istringstream iss(VariableX);
    char token;
    while (std::getline(iss, token, ","))
    {
        std::cout << token << std::endl;
    }
    return 0;
}



Könnt ihr mir weiterhelfen?

Grüße

Avatar von
{
    Char("VariableX");
    istringstream iss(VariableX);
    char token;
    while (std::getline(iss, token, ","))
    {
        std::cout << token << std::endl;
    }
    return 0;
}

while (std::getline(iss, token, ",")) ... return 0;  heisst das nicht "solange das token ein Komma ist, gebe 0 aus. " 

Kannst du genauer erklären, was deine Befehle ganz genau machen sollen?

Wo hast du genau angegeben, dass die Zahl NICHT ein Komma sein soll?

1 Antwort

+1 Daumen

Ich möchte jeden Wert bis zum Komma als eigene Variable ausgeben.

Hat das technische Gründe? Wie kommen die Werte vom Sensor: Einzeln oder als Array?

Ich würde an Deiner Stelle ein Char-Array erzeugen, in dem die Sensor-Werte gespeichert werden. In einer For-Schleife kannst Du die einzelnen Werte dann auslesen.

Avatar von

Hi André

Ich kopiere mal den aktuellen funktionierenden Code, zur besseren Verständlichkeit:

https://pastebin.com/Fnwskvce

Also am Anfang steht hinter dem char (server_reply) ja eine eckige klammer mit 2000...


Heißt das, dass ich schon einen Array habe den ich nur noch mit einer For-Schleife abgreifen muss?


Wie würde das dann gehen?

(server_reply) [ i ]

for (i, i<10, i++)

{

puts << (i) << endl;

}


Etwa so in der Richtung?

Also, dass ich sage:

-Wir haben Array (server_reply)

-Die einzelnen Stellen des Arrays nennen wir i

-i wird durch die vorschleife definiert von 1-10

i1, i2, i3 geben wir dann einfach aus...


Macht das Sinn?

Grüße

Ich bin doch etwas weiter gekommen:


Und zwar habe ich (unahängig vom alten Code einen Tokenizer programmiert)


https://pastebin.com/YfmtBwAj


Jedoch schaffe ich es nicht, beide Programme zu verschmelzen.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community