C++ c++;iostream,stringstream终止

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

我正在为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, 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);