当前位置:  技术问答>linux和unix

一个关于独占文件的问题,谢谢!

    来源: 互联网  发布时间:2015-03-10

    本文导语:  我想在C下实现对一个文件的独占打开,就像VC中CFile类中的ShareExclusive标志差不多, 用fopen好像没有这个标志参数,请问如何实现,(Shell命令中可以实现吗?)麻烦给出例子,谢谢 | 使用文...

我想在C下实现对一个文件的独占打开,就像VC中CFile类中的ShareExclusive标志差不多, 用fopen好像没有这个标志参数,请问如何实现,(Shell命令中可以实现吗?)麻烦给出例子,谢谢

|
使用文件锁吧,函数是fcntl,在linux下man一把看详细信息

|
给你个例子再
该函数完成对文件的独占打开,并返回使用的锁

int fileopen(int *pLock_fd)
{
    char FileName[256];
    int iFd;
    struct flock struLock;    

    memset(FileName,0,256);
    strcpy( FileName, getenv("HOME"));
    strcat( FileName, "/my.lock");
    iFd = open( FileName, O_CREAT| O_RDWR, 0660);
    if ( iFd == -1)
    {
        return (-1);
    }

    memset(&struLock, 0, sizeof(struLock) );
    struLock.l_type= F_WRLCK;
    struLock.l_whence= 0;
    struLock.l_start= 0;
    struLock.l_len= 0;
    if ( fcntl( iFd, F_SETLK, &struLock) == -1)
    {
        close( iFd);
        return (-1);
    }
    
    *pLock_fd = iFd;
    return 0;
}

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问如何以独占的方式打开串口
  • 浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
  • 论坛 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3