在c++中解析/分割数据
parsing/splitting data in C++
我从传感器发送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
...
下面的代码展示了如何做到这一点:
#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
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 如何在C++中从字符串中分割字符
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++映射分割错误(核心转储)
- 在cuda线程之间共享大量常量数据
- C++将文本文件中的数据读取到结构数组中
- 基于向量的数据格式的分割故障误差
- 从文件(使用strtok()和strcpy())解开数据时进行分割故障
- C ++编译指示OMP分割错误(数据竞争?)与数组
- 分割错误 (SIGSEGV) 获取数据作为结构向量中的输入时
- 分割故障(核心倾倒)在使用地图存储有序数据时
- 线段分割和合并的数据结构
- QtSerialPort有不可用的数据,分割故障仅在Windows 8下
- 在c++中解析/分割数据
- 分割错误与字符串和复制的字符数据
- 分割故障:11、提取矢量数据