検索

ホームページ  >  に質問  >  本文

linux - C 関数をいくつか調べています。これらのビットごとの OR は何を意味しますか?

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

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

リーリー

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

仅有的幸福仅有的幸福2754日前680

全員に返信(2)返信します

  • 漂亮男人

    漂亮男人2017-05-16 13:31:54

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

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

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

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

    O_CREAT はバイナリ 00000010 に等しい

    組み合わせた構成は次のとおりです🎜 リーリー

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:31:54

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

    リーリー

    待ってください。

    返事
    0
  • キャンセル返事