首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ getline()函数未按预期工作

C++ getline()函数未按预期工作
EN

Stack Overflow用户
提问于 2017-02-24 05:33:01
回答 1查看 71关注 0票数 0
代码语言:javascript
运行
复制
int boardDim(ifstream & inputFile, unsigned int x, unsigned int y) {
    inputFile.open("test.txt");
    if (!(inputFile.is_open())) {
        throw fileNotOpen;
    }
    else {
        stringstream output;
        string output1;
        if (getline(inputFile, output1)) {
            output << output1;
            if (output >> x) {
                if (output >> y) {
                    return success;
                }
                return secBoardVarErr;
            }
            return firstBoardVarErr;
        }
        return lineErr;
    }
    cout << x << endl;
    cout << y << endl;
}

输入文件包含两个int "10 11“中的一行。

我要把lineErr还回去。我似乎不明白为什么getline()函数返回false。

EN

回答 1

Stack Overflow用户

发布于 2017-02-24 05:53:50

在写入output流之后,您就到达了流的末尾。为了能够再次读取数据,您需要查找到流的开头:

代码语言:javascript
运行
复制
output.seekg(0, ios_base::beg);

顺便说一句,对于你正在读取的流来说,output是一个非常糟糕的名字。:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42426585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档