termcaps を使用していますが&=、この例の意味がわかりません:
term.c_lflag &= ~(ICANON);
これがどのように機能するかを誰かに説明してもらえますか?
&=を意味Bit Wise AND し、割り当てます。例えば
term.c_lflag = (term.c_lflag) & (~(ICANON))
最初に、erm.c_lflag & ~(ICANON)次に代入しないでくださいterm.c_lflag
演算子と大差ありません+=。それが「所定term.c_lflag &= ~(ICANON);の位置に」の効果を持つべきであるのと同じように。term.c_lflag = term.c_lflag & (~ICANON);一時的な を作成するのではなく、 を変更しterm.c_lflagます。&ここでは、ビットごとの AND 演算子を使用していることに注意してください。