栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

这是一个示例,该示例如何

cin
使用
rdbuf()
函数来操纵的输入缓冲区,以从检索假输入
std::istringstream

#include <iostream>#include <sstream>#include <string>using namespace std;int main() {    istringstream iss("1 a 1 b 4 a 4 b 9");    cin.rdbuf(iss.rdbuf());  // This line actually sets cin's input buffer       // to the same one as used in iss (namely the       // string data that was used to initialize it)    int num = 0;    char c;    while(cin >> num >> c || !cin.eof()) {        if(cin.fail()) { cin.clear(); string dummy; cin >> dummy; continue;        }        cout << num << ", " << c << endl;    }    return 0;}

看到它正常工作


另一个选择(与JoachimPileborg在其评论恕我直言中所说的更接近)是将阅读代码放入单独的函数中,例如

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

这使您可以进行不同的测试和生产要求,例如

// Testing prestd::istringstream iss("42");int value = readIntFromStream(iss);// Production preint value = readIntFromStream(std::cin);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号