是否存在任何能够跨平台处理路径的C++ GNU独立类? 我的应用程序在Windows和Linux上构建。 我们的配置文件引用另一个位于单独目录中的文件。 我想能够将其他配置文件的路径读入一个类中,该类可在Linux或Windows上运行。
哪个类提供的足迹最小,以便将路径转换为在任一系统上使用?谢谢
是否存在任何能够跨平台处理路径的C++ GNU独立类? 我的应用程序在Windows和Linux上构建。 我们的配置文件引用另一个位于单独目录中的文件。 我想能够将其他配置文件的路径读入一个类中,该类可在Linux或Windows上运行。
哪个类提供的足迹最小,以便将路径转换为在任一系统上使用?谢谢
除非您正在使用绝对路径,否则根本没有必要进行翻译 - Windows会自动将正斜杠转换为反斜杠,因此如果您使用带有正斜杠路径分隔符的相对路径,则一切都将顺利。如果可能,请尽量避免使用绝对路径。
尝试使用 boost::filesystem
boost::filesystem::path
总是有效的,但对于Windows,在某些情况下我们应该使用boost::filesystem::wpath
。 - TonySalimi有很多方法,我个人认为正确的答案是重新设计您的程序以避免操作路径。我在这里发布了一个答案:https://dev59.com/RWkw5IYBdhLWcg3wp8Sc#40980510,与此相关。
方法: