0
我已經做了一個客戶端程序使用C++中的boost :: asio連接到TCP/IP服務器。當我發出命令說「LLIST」它將返回TCP IP通信
? "llist"
l1 32x32 Video "Video L1"
l2 512x512 Video "Audio L2"
每個句子末尾的新行字符,並在發射結束時將有一個額外的換行字符。所以,我的聽力函數從插座
len=_socket->read_some(boost::asio::buffer(reply,sizeof(reply)),error);// char reply[2];
兩個字符的問題是,當我檢查「\ n」使用,如果它不能正常工作。
if(reply[0]!='\n')
if(reply[1]!='\n')
str.insert(i,1,reply[0]); //std::string str;
可能是什麼問題?
我可以嘗試推斷你的邏輯,但我不得不做出一些可能不準確的假設。您每次從套接字2個字符開始讀取,檢查換行符。由於您使用條件清除了2個字符,因此您必須插入0和1的回覆索引。看起來你只是插入第一個。這是你想要的行爲嗎? – 2013-03-05 13:26:58