由于文件系统是和操作系统相关联的,并且在Windows平台和unix平台的api大相径庭。因此,对于文件操作对于扩平台开发的c++程序员来说一直是一个非常头疼的问题。
虽然在STL的<iostream>库中提供简单的文件操作(仅限于创建、删除文件),但远远无法满足我们的需求。因此,boost.filesystem库中提供了一个跨平台的文件库,以方便程序员的开发。
注:boost.filesystem已经被纳入TR2中,虽然还没有没有正式标准化,但在vc11和gcc中都是支持的,可以直接使用。对应的名字空间是std::tr2::sys。
IBM有一篇文章《了解 Boost Filesystem Library》写得非常棒,因此我在这里就不多介绍了。对于各个函数的具体说明,可以参看msdn文档。