c++从控制台循环读入字符串,如何终止循环并正常执行后面的程序?
大家讲道理
大家讲道理 2017-04-17 13:45:13
0
2
615
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>

using namespace std;

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

    return 0;
}

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
Ty80

Windows下ctrl z,*nix下ctrl d可以傳送EOF給程式

迷茫

可以設定一個退出迴圈的條件,例如讀到quit這個字串就退出迴圈繼續執行。 Librazy的回答是正解。

如果說你需要實作Ctrl+C終止循環,並繼續循環外的程式的話,可以用signal。這是作業系統提供的一套機制,當你按下Ctrl+C的時候,其實是對這個行程發送了一個signal。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板