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

Vic*_*rin 5 c++ encoding boost path

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编码)?


PS看完这篇文章链接似乎::path::wpath没有任何区别.这样对吗?

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

Jon*_*den 5

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

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

值得一提的是,对于现在的几个版本,Boost已经弃用wpath,class path应该使用它.请参阅Boost Deprecated Features(当前版本)

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

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

方法native()似乎更适合为不同平台编译的源代码

那是正确的.如果它只是您正在开发的Windows应用程序,那么wstring()可以使用它native()