如何在没有cin.get()的情况下完成这项工作

时间:2013-03-24 18:25:09

标签: c++

如何在不使用cin.get的情况下更改此内容?

void convert(int bit[],string &s)
{    
    char c = 0;
    for(int i = 0;i < 8;i++)
    {
        c = c+(bit[i] << i);
    }
    cin.get();
    cout << c;
}

1 个答案:

答案 0 :(得分:0)

目前还不清楚你甚至想做什么。你扔了 离开cin.get()的返回值,所以它的唯一作用是 从输入流中提取一个字符,然后执行任何一方 与提取角色相关的效果。 (std::cout是 默认情况下绑定到std::cin,因此其中一个副作用会 是要冲洗std::cin。)如果你想要冲洗,你可以做到 直接,例如std::cout.flush(),或只是std::cout << c << flush。但请注意,输出字符可能不行 你想要什么。如果要输出c的实际值, 而不是将其解释为编码字符,你将拥有 首先将它转换为大于char的整数类型。和 当然,如果签署了普通字符,您可能想要转换它 首先是unsigned char,除非你准备好处理 负值。