Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C是否有跨平台文件IO/path util库?_C_File Io_Path_Cross Platform - Fatal编程技术网

C是否有跨平台文件IO/path util库?

C是否有跨平台文件IO/path util库?,c,file-io,path,cross-platform,C,File Io,Path,Cross Platform,是否有一些C库实现独立于平台的路径操作版本 我想到了一些例子: 从相对路径获取绝对路径(无需文件存在) 确保目录存在 创建一个文件(如果不存在)以及给定路径中缺少的任何目录 连接路径 获取路径的目录部分 获取文件名是路径的一部分 还有很多 当然也有特定于平台的版本,但它们几乎从来没有做过完全相同的事情,导致试图跨平台匹配行为的混乱 我指C,不是C++,所以Boost不计算。< /P> 此外,如果没有,是否有平台之间差异的良好来源/示例以及其他有用信息可用于编写此类库?The ever nic

是否有一些C库实现独立于平台的路径操作版本

我想到了一些例子:

  • 从相对路径获取绝对路径(无需文件存在)
  • 确保目录存在
  • 创建一个文件(如果不存在)以及给定路径中缺少的任何目录
  • 连接路径
  • 获取路径的目录部分
  • 获取文件名是路径的一部分
  • 还有很多
当然也有特定于平台的版本,但它们几乎从来没有做过完全相同的事情,导致试图跨平台匹配行为的混乱

我指C,不是C++,所以Boost不计算。< /P> 此外,如果没有,是否有平台之间差异的良好来源/示例以及其他有用信息可用于编写此类库?

The ever nice至少有一些

  • 具有与和其他类似的功能
  • GIO提供了I/O虚拟化包装器API
请注意,您正在描述的一些函数(例如“从相对路径获取绝对路径”)假设存在当前目录,这就是解析通常的方式。它不是一个非常“纯”的函数,因为它依赖于外部状态。在Windows中,通过其“拆分文件系统”,每个进程的每个卷甚至有一个当前目录(例如,一个用于C:\,一个用于A:\,如果有,等等)。

我发现它不仅仅执行文件I/O和路径操作。而且与任何像Gnome这样的项目都没有关系


另一个具有可移植函数和良好API的项目是和类,尽管库本身关注其他方面。

我知道这是一个相当老的问题,但我一直在寻找类似的东西,但找不到任何东西。所以我写了一篇,()-给那些仍然觉得有用的人!:-)