Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ stringstream.good()>;VS和Eclipse编译器中的不同行为_C++_Eclipse_Visual Studio 2005_Stringstream - Fatal编程技术网

C++ stringstream.good()>;VS和Eclipse编译器中的不同行为

C++ stringstream.good()>;VS和Eclipse编译器中的不同行为,c++,eclipse,visual-studio-2005,stringstream,C++,Eclipse,Visual Studio 2005,Stringstream,我对stringstream的理解有一些问题 示例: stringstream stream(commands); while (true) { string line; getline(stream, line); if (!stream.good()) break; if (line.size() > 0){ lines.push_back(line);

我对stringstream的理解有一些问题

示例:

stringstream stream(commands);

    while (true) {
        string line;
        getline(stream, line);

        if (!stream.good())
            break;
        if (line.size() > 0){
            lines.push_back(line);
        }
        else{
             break;
        }
    }
如果我在Eclipse中使用这段代码,那就没有问题,它可以按预期工作。 在vistualstudio2005stream.good()中使用此选项似乎总是返回false

为什么?


我非常感谢您的解释。

结束这个问题:

stringstream stream(commands);

    while (true) {
        string line;
        getline(stream, line);

        if (!stream.good())
            break;
        if (line.size() > 0){
            lines.push_back(line);
        }
        else{
             break;
        }
    }
比如,etarion说这只是
good()
方法的问题。使用其他一些机制可以很好地工作。
谢谢你的帮助

你可以把整个代码换成4行代码,你知道的…-使用.good()几乎从来都不是一个好主意。使用流状态,GETLIN返回流。给我一个瞬间,我正在尝试追踪另一个有线C++的东西…似乎起作用。但是我想知道为什么good()方法不好用?