You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何将多次cin输入的多行内容拼接存入单个变量

可行性结论

这个需求完全可以实现,只用C++标准库就能搞定,不需要额外依赖。

实现逻辑
  • 先定义一个std::string类型的变量,专门用来存最终拼接好的结果。
  • 你每次单独调用cin读输入的时候,cin会自动把输入末尾的换行符丢掉,不会把换行存进读出来的字符串里,刚好能满足你拼接后无换行的要求。
  • 每读完一次输入,就用字符串的+=操作符,把刚读到的内容追加到存结果的变量末尾就行。
可直接运行的示例代码
#include <iostream>
#include <string>
using namespace std;

int main() {
    string res; // 存最终拼接结果的变量
    string tmp; // 临时存每次输入的变量

    // 三次独立cin调用,对应读取三行输入
    cin >> tmp;
    res += tmp;
    cin >> tmp;
    res += tmp;
    cin >> tmp;
    res += tmp;

    // 输出验证结果
    cout << res << endl;
    return 0;
}

按照你给出的示例依次输入AAA、BBB、CCC三行内容,最终res变量存储的内容就是AAABBBCCC,完全符合预期。

补充说明

如果你的单行输入里包含空格(比如某行内容是AA A),上面的写法就不适用了——因为cin >>默认会把空格、制表符也当成分隔符,读到空格就会停止。这种场景下要读整行的话,可以把读取调用换成getline(cin, tmp),注意如果之前用过cin >>读内容,要先把输入缓冲区里残留的换行符清掉,不然第一次getline会读到空字符串。

内容的提问来源于stack exchange,提问作者Aarav Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 20:54:40