如何从 while(getline(cin,tmp)) 跳转?

发布于 2024-12-07 01:31:56 字数 395 浏览 0 评论 0原文

我正在阅读第1章中的“通用编程和stl”

,这是一个这样的示例,

int main()
{
    vector<string> v;
    string tmp;

    while(getline(cin,tmp))  //problem is here, it keep asking me to input value
        v.push_back(tmp);

    sort(v.begin(), v.end());
    copy(v.begin(), v.end(), ostream_iterator<string>(cout,"\n"));

    return 0;
 }

我如何摆脱它一直要求我输入值,没有结束......

I am reading 'generic programming and the stl'

in chapter1, this is a sample like this,

int main()
{
    vector<string> v;
    string tmp;

    while(getline(cin,tmp))  //problem is here, it keep asking me to input value
        v.push_back(tmp);

    sort(v.begin(), v.end());
    copy(v.begin(), v.end(), ostream_iterator<string>(cout,"\n"));

    return 0;
 }

how do I get out of the while, it keep asking me to input value, no ending....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

游魂 2024-12-14 01:31:56

发送文件结束字符:您可以使用 CTRL-Z Return (Windows) 或 CTRL-D(Unix 终端)。然后,getline 将返回 false,因为没有更多内容可从 stdin 读取。

另一种方法是:将另一个程序的输出通过管道传输到这个程序中。

Send an end-of-file character: you can use CTRL-Z Return (Windows), or CTRL-D (Unix terminals). Then, getline will return false as there is nothing more to read from stdin.

An alternative is: pipe the output of another program into this one.

我一向站在原地 2024-12-14 01:31:56

您的程序会要求输入,直到到达 EOF。在类 UNIX 系统上使用 CtrlD 或在 Windows 上使用 CtrlZ 发送 EOF 来指示输入结束。

Your program asks for input until it reaches the EOF. Use CtrlD on UNIX-like systems or CtrlZ on Windows to send EOF to indicate end of input.

两仪 2024-12-14 01:31:56

因为您基本上没有在 while 循环中比较任何内容,所以您只给出了迭代器而不是退出条件。

因此,添加一个 var 并将循环增加到 5,五次迭代后它应该退出

int x=0;
While(getline(cin,tmp),x!=5){
     //other code

 x++;
 }

Because your not comparing anything basically in your while loop you only gave an iterator not a condition for exit.

So add a var and increment your loop to say 5 after five iterations it should exit

int x=0;
While(getline(cin,tmp),x!=5){
     //other code

 x++;
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文