加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

C:以编程方式初始化输入

发布时间:2020-12-13 19:02:12 所属栏目:Linux 来源:网络整理
导读:如果我们有这段代码: int a;cout 在终端中,输入请求看起来像这样 please enter a value: _ 我如何以编程方式模拟用户在其中键入内容. 最佳答案 以下是使用 rdbuf() 函数操作cin输入缓冲区的示例,以从std :: istringstream检索伪输入 #include See it workin

如果我们有这段代码:

int a;
cout << "please enter a value: "; 
cin >> a;

在终端中,输入请求看起来像这样

please enter a value: _

我如何以编程方式模拟用户在其中键入内容.

最佳答案
以下是使用rdbuf()函数操作cin输入缓冲区的示例,以从std :: istringstream检索伪输入

#include 

See it working

另一个选择(更接近Joachim Pileborg在his comment恕我直言中所说的)是将你的阅读代码放入一个单独的功能,例如:

int readIntFromStream(std::istream& input) {
    int result = 0;
    input >> result;
    return result;
}

这使您可以对测试和生产进行不同的调用,例如

// Testing code
std::istringstream iss("42");
int value = readIntFromStream(iss);

// Production code
int value = readIntFromStream(std::cin);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读