》》怎么没有人解决这个问题呀,谁解决,我给分!!!!!

davidteng 2002-06-05 10:16:08
请各位兄弟们帮助我解决一个小问题,如何才能更好地防止多个用户打开同一个文件
,是不是文件加锁的问题,请各位兄弟编写一个测试程序来实现这个问题,
我给分!!!
请写程序:(简单地对一个变量进行加1操作)谢谢!
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
匿名用户12345 2002-06-05
  • 打赏
  • 举报
回复
关注

我也想做一个这样的东西.但不知道从何做起

如果能够截获鼠标双击文件的消息,再做响应处理就可以了吧

但我不知道怎么实现希望有人能解决
g_blue 2002-06-05
  • 打赏
  • 举报
回复
zhukejun(Harvey) 的答案就很好了,不用我多写喽 ! :)
zhukejun 2002-06-05
  • 打赏
  • 举报
回复
打开文件前生成filename.loc文件,用open中O_EXCL选项,如果失败说明文
件filename.loc已经存在,即filename文件已经被打开,关闭时删除
filename.loc 文件
static void lock(char filename[])
{
int fd=-1;
char aaa[100];

strcpy(aaa,filename);
strcat(aaa,".lck");
do
{
fd=open(aaa,O_WRONLY|O_CREAT|O_EXCL,0666);
if(fd==-1)
{
if(errno==EEXIST)
{
sleep(1);
}//END errno==EEXIST

}//END fd==-1

}while(fd==-1);

close(fd);

}//END lock

/*
* unlock by releasing the lock file:
*/
static void unlock(char filename[])
{
char aaa[100];

strcpy(aaa,filename);
strcat(aaa,".lck");
unlink(aaa);
}//END UNLOCK

void main()
{
...
lock(sourpath);
...
unlock(destfile);
...
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧