C++ —— for(string s;cin>>s)终止输入

本文介绍了一个简单的C++程序,在终端运行时遇到的输入终止难题及其解决办法。通过使用标准输入流(cin),程序统计并记录输入字符串的频率。当用户希望停止输入时,按Ctrl+D可以有效终止程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在看书过程中碰到个如何终止输入的小问题。程序源码如下:

#include <iostream>
#include<map>
using namespace std;
int main(){
        map<string,int>words;
        for(string s;cin>>s;)
                ++words[s];
        for(const auto&p:words)
                cout<<p.first<<":"<<p.second<<'\n';
}

在终端下编译运行。顺便提下,源码中用到了范围循环,所以在用gcc时要显示的编译:

gcc -std=c++11 -o exercise exercise.cpp

编译成功后运行:./exercise

因为源码简单,所以直接开始输入。在我想结束输入时,习惯性按下回车程序并未结束。搜索后发现这里还有一个小知识点。发现这位分析的最到位:点击打开链接

所以ctrl+d解决问题。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值