Boost lib有一个类来处理文件路径:xcross_0914_Hands_X.mat
。
此外,Boos还有此课程boost::filesystem::path
每个班级都有方法boost::filesystem::wpath
,string()
,wstring()
,c_str()
我开发Windows应用程序,我完全不明白我应该使用什么))
从实际角度来看,这两个班级有什么区别?这些方法有什么区别?
我应该为Windows应用使用哪些类和哪些方法?无处不在native()
和::wpath
?
将为Ubuntu编译部分源代码(几个静态链接的库)。在这种情况下wstring()
仍然很好吗?
我也使用::wpath
,它需要数据库文件的路径。 sqlite3_open
我应该使用SQLite
(文件路径的UTF-8编码)或sqlite3_open_v2
(文件路径的UTF-16编码)?
P.S。阅读完本文link后,sqlite3_open16
和::path
似乎没有任何区别。是不是?
方法::wpath
似乎更适合为不同平台编译的源代码。
答案 0 :(得分:5)
从实际角度来看,这两个班级有什么区别?这些方法有什么区别?
我应该为Windows应用使用哪些类和哪些方法? :: wpath和wstring()无处不在?
值得一提的是,对于现在的几个版本,Boost已弃用wpath
而应使用class path
。见Boost Deprecated Features (current release)
"引擎盖",Boost代表path
和wpath
使用std::string
和std::wstring
,其中wstring
代表广泛字符串,即支持更大的字符集。
这些问题大部分都在这里得到解答:std::wstring VS std::string
方法native()似乎更适合为不同平台编译的源代码
这是正确的。如果它只是您正在开发的Windows应用,那么wstring()
可以在native()
上使用