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