ファイルの排他制御



 ◇-?ファイルの排他制御-空-02/02-10:19(100)-No.393041
   ┣?!Re:ファイルの排他制御...-もうり-02/02-12:07(98)-No.393052
   ┃ ┗?!?Re:ファイルの排他制御...-空-02/02-18:08(92)-No.393090
   ┃   ┗?!?!Re:ファイルの排他制御...-c-koban-02/03-00:40(86)-No.393149
   ┗?!Re:ファイルの排他制御...-yo-02/03-13:54(72)-No.393211
     ┗?!?Re:ファイルの排他制御...--02/05-16:30(22)-No.393620

▲このページのトップに戻る
393041ファイルの排他制御2007/02/02-10:19

メーカー名: レノボ(lenovo) 元アイビーエム(IBM)
OS名:WindowsXp
パソコン名:1858
トラブル現象: C言語に関すること
使用回線:ISDN
--
C言語でファイルの排他を行うにはどの様な方法がありますか?

複数プロセスから非同期にそのファイルをアクセスする場合があるので、排他制御を
行おうと考えてるんですけど、その方法が分かりません。

排他の関数があればその関数名を教えて下さい。
関数が無く、コーディングしかなければ、そのコーディングを記述して頂ければ
助かります。

どなたかご教授願います。


▲このページのトップに戻る
393052Re:ファイルの排他制御もうり 2007/02/02-12:07

記事番号393041へのコメント
fopen()でなく、open()を使えば、引数で排他モードを指定できます。

▲このページのトップに戻る
393090Re:ファイルの排他制御2007/02/02-18:08

記事番号393052へのコメント
もうりさんは No.393052「Re:ファイルの排他制御」で書きました。

すみません。今一度教えて下さい。

open関数の排他モードの指定方法ですが、具体的にどの様に指定すれば良いのでしょうか?
モードはリード・ライト・リード/ライトモードしか分かりませんでした。

ご教授下さい。

▲このページのトップに戻る
393149Re:ファイルの排他制御c-koban 2007/02/03-00:40

記事番号393090へのコメント
空さんは No.393090「Re:ファイルの排他制御」で書きました。

こんなのがありましたけど参考になりますかね?

C言語入門(ファイル制御)
http://www.stackasterisk.jp/tech/program/c01_08.jsp

▲このページのトップに戻る
393211Re:ファイルの排他制御yo 2007/02/03-13:54

記事番号393041へのコメント
空さんは No.393041「ファイルの排他制御」で書きました。

flock()関数の使い方ですね!
上記のコメントと同様ですが。
http://www.tohoho-web.com/wwwperl2.htm#flock
の「とほほ」さんのWEBでも紹介されています。
解りやすいと思います。

▲このページのトップに戻る
393620Re:ファイルの排他制御2007/02/05-16:30

記事番号393211へのコメント
yoさんは No.393211「Re:ファイルの排他制御」で書きました。

みなさん回答して頂き、ありがとうございます。

flock()ですが、C++でテストプログラムを作成し、確認しようと思ってるんですが、
リンク出来ません。
<fcntl.h>はincludeにあるので、リンク出来るかなと思ったんですけど、

c:\csvtool\test.c(108) : warning C4013: 関数 'flock' は定義されていません。int 型の値を返す外部関数と見なします。
リンク中...
test.obj : error LNK2001: 外部シンボル "_flock" は未解決です
Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

となり、リンク出来ませんでした。

そこでflock以外でのファイル排他制御はありませんか?
サンプルがあれば参考にしたいのですが…。

何度も申し訳ありませんが、ご教授の程よろしくお願い致します。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言