2013-03-21 17 views
0

我已經從串行端口從3傳感器I的格式發送數據在C++中的緩衝器/可變

sensor0,sensor1,sensor2 

我使用該程序傳遞的serialport數據數據:

#include <iostream> 
#include <string> 
#include <sstream> 
#include <Windows.h> 
#include "SerialClass.h" 

char buffer[25]; 
using namespace std; 

int i; 
int main() 
    { 
    Serial oSerial("COM8:"); 

    oSerial.WriteData("1",1); 
     Sleep(100); 
     oSerial.ReadData(buffer,25); 
string str = buffer; 
string word; 
stringstream stream(str); 

while(getline(stream, word, ',')) 
    cout <<word << "\n"; 



Sleep (10000); 
    } 

並將結果是:

sensor0 
sensor1 
sensor2 

我想要的數據的結果是一個緩衝/變量,這樣的結果會像

y1=sensor0 
y2=sensor1 
y3=sensor2 

如何更改代碼,使結果如此。

+0

你的問題是Windows特定,應標記爲這樣 – 2013-03-21 06:24:48

+0

THX,我已經編輯 – Limavolt 2013-03-21 06:35:46

回答

0

中的代碼片段:

int count = 1; 
while(getline(stream, word, ',')) 
{ 
    cout<<"y"<<count<<"="<<word<< "\n"; 
    count++; 
} 
+0

THX,但數據在緩衝區Y1等等? – Limavolt 2013-03-21 06:32:22

+0

user2183287的代碼片段完全是你想要的,y1,y2等。 – Arun 2013-03-21 06:45:18

+0

如果我使用該代碼,恐怕我可以修改數據的值 – Limavolt 2013-03-21 06:48:44