C++ c++;iostream,stringstream终止
我正在为simly TCP服务器编程,我遇到了流终止的问题 我正在接收一些数据,定义数据的结尾是组合C++ c++;iostream,stringstream终止,c++,stream,C++,Stream,我正在为simly TCP服务器编程,我遇到了流终止的问题 我正在接收一些数据,定义数据的结尾是组合\r\n,但流在该数据的第一个\0处终止 bool read(char &chr_glob, stringstream &ss ){ char chr; char buffer[BUFFER_SIZE]; while (!ss.get(chr)){ ss.clear(); recv(c, buffer, BUFFER_SIZE
\r\n
,但流在该数据的第一个\0
处终止
bool read(char &chr_glob, stringstream &ss ){
char chr;
char buffer[BUFFER_SIZE];
while (!ss.get(chr)){
ss.clear();
recv(c, buffer, BUFFER_SIZE, 0);
ss<<buffer;
}
chr_glob = chr
if ( chr == '\r' ){
char tmp = ss.peek();
if ( tmp == '\n'){
ss.get(chr_glob);
return false;
}
}
return true;
}
bool read(char&chr\u glob、stringstream&ss){
char-chr;
字符缓冲区[缓冲区大小];
而(!ss.get(chr)){
ss.clear();
recv(c,缓冲区,缓冲区大小,0);
党卫军
流在此数据中的第一个\0处终止
我试图使用iostream,但我遇到了编译问题,不知道如何解决它
In file included from /usr/include/c++/4.8/iostream:40:0,
from robot.cpp:7:
/usr/include/c++/4.8/istream: In function ‘int main(int, char**)’:
/usr/include/c++/4.8/istream:830:7: error: ‘std::basic_iostream<_CharT, _Traits>::basic_iostream() [with _CharT = char; _Traits = std::char_traits<char>]’ is protected
basic_iostream()
^
robot.cpp:148:14: error: within this context
iostream ss;
^
iostream
是一个基类。它不能直接实例化。像您那样使用stringstream
。您在chr\u glob=chr
之后缺少一个分号。是的,在发布代码时删除它,这不是问题。谢谢您的注意。编译器错误在函数main
中。请发布mainde>函数代码。@chrisaycock这是前半部分。我也会添加第二部分。
ss<<buffer;
size = recv(c, buffer, BUFFER_SIZE, 0);
ss.write(buffer, size);