-5

How can I change this so it works without 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;
}
4

1 回答 1

0

目前还不清楚你甚至想做什么。您丢弃 的返回值cin.get(),因此它的唯一作用是从输入流中提取字符,并执行与提取字符相关的任何副作用。(默认std::cout绑定到std::cin,所以副作用之一是冲洗std::cin。)如果你想要冲洗,你可以直接做,例如std::cout.flush(),或简单地std::cout << c << flush。但是请注意,输出一个字符可能无法满足您的要求。如果要输出 的实际值c,而不是将其解释为编码字符,则必须char先将其转换为大于的整数类型。当然,如果对普通字符进行签名,您可能希望将其转换为unsigned char首先,除非您准备好处理负值。

于 2013-03-24T19:08:20.257 回答