牛、豚、鶏、どれか一つ食べられなくなるとしたら?

C言語で、あるテキストファイルに対してライトモードとリードモードの両方で開くことは可能なんでしょうか?
つまり、書き込みと読み込みを同時にできるのでしょうか?
スレッドを使えばできると聞いたんですが、本当なんでしょうか?

A 回答 (1件)

ファイルを読み書きモードで開いて、読んだり書いたりすることは可能です。

fopen関数で"r+"または"w+"を使います。
"r"と"w"で別々のFILE*を使う場合は、fseekを使ってファイルへのアクセス位置を指定してあげないとおかしくなります。
スレッドを使っても話は同じで、誰かがファイル位置を管理する必要があります。ただ、スレッドの場合読みと書きのどちらが先に動くか分からないので、セマフォとかファイルロックみたいな排他制御するのが普通です。
    • good
    • 0
この回答へのお礼

"r+"とか"w+"という便利なモードがあったんですね。
初めて知りました。
ありがとうございました。

お礼日時:2004/12/08 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!