-1

ヘッダーとテールのあるセンサーから6つのデータを送信し、データの間に(、)を付けます

$data0,data1,data2,data3,data4,data5%.

このデータを解析/並べ替えて、次のようになりたいです。

y0=data0
y1=data1...

どうやってするの?Visual Studio C++2010を使用しています。

私のプログラムは:

#include <iostream>
#include <string>
#include <sstream>
#include "stdafx.h"
using namespace std;

int main()
  {
string str = "$data1,data2,data3,data4,data5,data6%";
string word;
stringstream stream(str);
while( getline(stream, word, ',') )
cout << word << "\n";
 }

値は

$data1
data2
data3
data4
data5
data6%

ヘッダーとテールを消去する方法、およびバッファー内のデータを作成する方法

Y1=data1
y2=data2
 ...
4

1 に答える 1

0

このコードは、それがどのように行われるかを示しています。

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

int main() {
    std::string s("$data0,data1,data2,data3,data4,data5%");

    s.erase(0, 1); // Remove header.
    s.erase(s.size() - 1, 1); // Remove tail.

    // Parse tokens.
    std::vector<std::string> tokens; // Vector will store tokens.
    std::istringstream iss(s);
    for (std::string token; std::getline(iss, token, ',');) {
        tokens.push_back(token);
    }

    // Output tokens.
    for (const auto& t : tokens) {
        std::cout << t << std::endl;
    }
}

出力:

data0
data1
data2
data3
data4
data5
于 2013-03-21T00:39:29.937 に答える