boost::filesystem::path vs boost::filesystem::wpath

boost::filesystem::path vs boost::filesystem::wpath

本文关键字:boost filesystem wpath vs path      更新时间:2023-10-16

Boost lib 有一个类来处理文件路径:boost::filesystem::path 。Boos也有这个类boost::filesystem::wpath

每个类都有方法string()wstring()c_str()native()

开发Windows应用程序,但我完全不明白我应该使用什么))

从实践的角度来看,这两个类有什么区别?这些方法有什么区别?

我应该对 Windows 应用使用什么类和什么方法? 到处都是::wpathwstring()

部分源代码(几个静态链接的库)将为 Ubuntu 编译。在这种情况下,::wpath还好吗?


我也使用SQLite,它需要数据库文件的路径。 sqlite3_open。

我应该使用sqlite3_open_v2(文件路径的 UTF-8 编码)还是sqlite3_open16(文件路径的 UTF-16 编码)?


附言阅读本文链接后,::path::wpath似乎根本没有区别。对吗?

对于为不同平台编译的源代码,方法 native() 似乎更可取。

从实践的角度来看,这两个类有什么区别?这些方法有什么区别?

我应该为Windows应用程序使用什么类和什么方法?::wpath和wstring()无处不在?

值得一提的是,对于现在的几个版本,Boost 已弃用wpath,应该改用class path。请参阅增强已弃用的功能(当前版本)

"引擎盖下",Boost 使用 std::stringstd::wstring 表示pathwpath,其中 wstring 用于表示宽字符串,即支持更大的字符集。

这些问题大部分都在这里得到解答: std::wstring VS std::string

对于为不同平台编译的源代码,方法 native() 似乎更可取

这是正确的。如果它只是你正在开发的 Windows 应用,那么wstring()可以使用native()