c++从控制台循环读入字符串,如何终止循环并正常执行后面的程序?

 本多天舞 发布于 2022-11-05 18:05
#include 
#include 
#include 
#include 
#include 

using namespace std;

int main()
{
    //file();
    vector coll;
    copy(istream_iterator(cin), istream_iterator(), back_inserter(coll));
    sort(coll.begin(), coll.end());
    unique_copy(coll.begin(), coll.end(), ostream_iterator(cout, "\n"));

    return 0;
}

如果从文件读入,可以读入字符串并终止程序,并且正常执行后面的程序,就是可以打印出读入的字符串。但是如果是从控制台读入,就无法终止了,不知道这个时候该怎可办才能够让程序停止读入并正常执行下去。如果直接ctrl+c,就是把整个程序都直接终止了。

2 个回答
  • 可以设置一个退出循环的条件,比如读到quit这个字符串就退出循环继续执行。Librazy的回答是正解。

    如果说你需要实现Ctrl+C终止循环,并继续循环外的程序的话,可以用signal。这是操作系统提供的一套机制,当你按下Ctrl+C的时候,实际上是对这个进程发送了一个signal。

    2022-11-12 01:48 回答
  • Windows下ctrl z,*nix下ctrl d可以发送EOF给程序

    2022-11-12 01:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有