菜鸟教程小白 发表于 2022-12-12 22:29:12

c++ - failbit 是否会影响 cin 上的调用忽略?


                                            <p><p>设置失败位后:
当我先调用 cin.clear() 然后调用 cin.ignore() 时,程序是正确的。
而当我第一次调用 cin.ignore() 再调用 cin.clear() 时,忽略似乎不起作用,为什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code>cin.clear()</code> 清除故障位,但 <code>cin.ignore()</code> 不清除。</p>

<p>这意味着,如果流处于无效状态,调用 <code>clear()</code> 后跟 <code>ignore()</code> 会将状态重置为良好,然后忽略下一个字符。</p>

<p>另一方面,调用 <code>ignore()</code> 后跟 <code>clear()</code> 意味着 <code>ignore()</code> 会失败,然后 <code>clear ()</code> 将继续重置流状态。所以,在这种情况下,下一个字符不会被忽略。</p></p>
                                   
                                                <p style="font-size: 20px;">关于c&#43;&#43; - failbit 是否会影响 cin 上的调用忽略?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12002747/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12002747/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c&#43;&#43; - failbit 是否会影响 cin 上的调用忽略?