C++中如何實(shí)現(xiàn)多行stdin輸入

c++
小樊
140
2024-09-10 17:25:11

在 C++ 中,您可以使用 std::getline() 函數(shù)從標(biāo)準(zhǔn)輸入(通常是鍵盤)讀取多行

#include<iostream>
#include<string>
#include<vector>

int main() {
    std::string line;
    std::vector<std::string> lines;

    std::cout << "請(qǐng)輸入多行文本,按 Ctrl+D (或 Ctrl+Z 在 Windows 上) 結(jié)束輸入。"<< std::endl;

    // 讀取多行輸入,直到遇到 EOF(文件結(jié)束符)
    while (std::getline(std::cin, line)) {
        lines.push_back(line);
    }

    std::cout << "您輸入的內(nèi)容如下:"<< std::endl;
    for (const auto& l : lines) {
        std::cout << l << std::endl;
    }

    return 0;
}

這個(gè)程序首先包含了必要的頭文件,然后定義了一個(gè) std::string 變量 line 和一個(gè) std::vector<std::string> 變量 lines 來(lái)存儲(chǔ)輸入的多行字符串。

程序會(huì)提示用戶輸入多行文本,并在每次按下回車鍵時(shí)讀取一行。當(dāng)用戶按下 Ctrl+D(或在 Windows 上按下 Ctrl+Z)時(shí),std::getline() 將返回 false,循環(huán)結(jié)束。

最后,程序會(huì)遍歷 lines 向量并打印出所有輸入的行。

0