linux - C 関数をいくつか調べています。これらのビットごとの OR は何を意味しますか?
仅有的幸福
仅有的幸福 2017-05-16 13:29:54
0
2
677

最近 C を勉強しているのですが、一部の関数がパラメーターを渡すためにビット単位またはビット単位を使用しているのを見たことがありますが、それが何を意味するのかよくわかりません。ビット単位の演算は日常業務ではほとんど使用されないようです。

たとえば、次のコード部分

リーリー

ここでの O_RDWR|O_CREAT と S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH は何を意味しますか

仅有的幸福
仅有的幸福

全員に返信(2)
漂亮男人

ドキュメントを自分で確認する必要があります

  • O_RDWR: 読み取り可能および書き込み可能

  • O_CREAT : ファイルが存在しない場合は、作成します

ビットごとの OR は、(特定の値がわからない) と仮定して、結合された構成を意味します:
O_RDWR 等于二进制 00000001
O_CREAT 等于二进制 00000010 はバイナリ 00000001 に等しい

O_CREAT はバイナリ 00000010 に等しいコード>

組み合わせた構成は次のとおりです🎜 リーリー
いいねを押す +0
曾经蜡笔没有小新

単なるビット操作です
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH などを特定のヘッダーファイルに定義する必要があります
例えば (値は私が何気なく書いたものです。詳細はそのヘッダーファイルを確認してください。私は怠け者です)

リーリー

待ってください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート