首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在阅读文本时使用right shift来识别‘\n

有没有办法在阅读文本时使用right shift来识别‘\n
EN

Stack Overflow用户
提问于 2016-09-20 22:01:20
回答 1查看 26关注 0票数 0

以下是我的文本文件格式

勒尼汉于1995年退休,任社会学副教授。

约翰·杰伊刑事司法学院。他加入了教员队伍

1980年,在哥伦比亚大学做了一段时间的研究之后

下面是我的代码

代码语言:javascript
复制
ifstream  afile("sometext.txt");
string line;
while (afile >> line) {
    cout<< line <<" "
    }
afile.close();

并且它打印时没有任何新的行

是否可以仅使用right shift在字符串上打印新行?

EN

回答 1

Stack Overflow用户

发布于 2016-09-20 22:16:35

您可以这样做,但使用字符而不是字符串,使用peek()并扫描输入缓冲区,无论它是否包含'\n‘:

代码语言:javascript
复制
#include <iostream>
#include <fstream>
#include <string>


int main()
{

    std::ifstream  afile("sometext.txt");
    std::string line;
    char c;

    while ( !afile.eof())
    {
        afile >> c;
        if('\n' == afile.peek())
        {
            c = '\n';
            line += c;
        }
        else
            line += c;

    }

    std::cout << line << std::endl;

    afile.close();

    std::cout << std::endl;
    return 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39596209

复制
相关文章

相似问题

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