我正在编写一个简单的文件服务器,使用套接字进行分配。在开始接受连接之前,我需要检查服务器是否可以向所服务的目录写入。
一种简单的方法是尝试创建一个文件,然后立即删除它并在失败时报错。但是如果文件已经存在呢?我的程序会崩溃或在此期间关闭吗?此外,这种方法似乎有点凌乱,不够优雅。
严格来说,代码只需要在评分人测试的Ubuntu系统上运行。因此,我可以使用stat()命令,获取当前uid和gid,并手动检查文件状态的权限。但我更愿意以可移植的方式完成这项工作,而这很繁琐。
是否有一种简单的C标准方法来实现这个功能?