C言語関係掲示板

過去ログ

No807 "書き込み保護のファイル"の削除

[戻る] [ホームページ]
No.10186

ファイルの作成、削除について教えてください。
投稿者---HIROKO(2003/10/30 10:28:40)


今、ネットワークプログラミングで、open関数を使ってlockファイルを作成したのですが、削除する時に、"書き込み保護のファイル"と出てしまうんです。この表示は何故でるのか教えてください。

sample
int fd;
fd = open("lock",O_CREAT);
close(fd);
system("rm -f lock);

実際にこのような形でやっています。
fd = open("lock",O_CREAT);
じゃなく、system(echo abc > lock);
このようにやれば"書き込み保護のファイル"って出ないのですが、
何故でしょうか?
誰か教えてください。

No.10190

Re:ファイルの作成、削除について教えてください。
投稿者---かずま(2003/10/30 11:26:35)


> fd = open("lock",O_CREAT);

fd = open("lock", O_CREAT, 0666); にしてみてください。


No.10194

Re:ファイルの作成、削除について教えてください。
投稿者---HIROKO(2003/10/30 11:54:37)


fd = open("lock", O_CREAT, 0666); にしてみてください。
</pre>

ありがとうございます。できました。
ちなみに、0666とは何何ですか?

No.10199

Re:Re:ファイルの作成、削除について教えてください。
投稿者---ceybord(2003/10/30 14:36:06)


>fd = open("lock", O_CREAT, 0666); にしてみてください。
></pre>
>
>ありがとうございます。できました。
>ちなみに、0666とは何何ですか?

整数の前に0をつけると8進数になります。
666の意味についてはUnixのパーミッションの話を参考にしてください。