请注意是cv::String,而不是std::string,第一个字母是大写的。
基本上CString转cv::String网上都能查到,而cv::String转CString没有人提到
1. CString -> cv::String
USES_CONVERSION;
CString str = "abcdefg";
cv::String cvStr = W2A(str);
2. cv::String -> CString
直接用上面方法的逆A2W是不行的,可以考虑找个中间人std::string,先把cv::String转std::string,然后再把std::string转CString
USES_CONVERSION;
cv::String b = "abcdefg;
std::string c = b;
CString a = A2W(c.c_str());
说明:
1. 两种转换因为用到W2A和A2W,所以USES_CONVERSION这一句是必须要有的;
2.cv::String是opencv自己定义的,(与char*有点像,但是没有c_str()这个函数,而)cv::String和std::string可以直接相等
本文介绍了CString与cv::String之间的转换方法。首先展示了如何将CString转换为cv::String,并指出该过程依赖于W2A函数。接着给出了cv::String转换为CString的方法,通过借助std::string作为中间媒介完成转换。最后强调了转换过程中必须包含USES_CONVERSION宏。
1025

被折叠的 条评论
为什么被折叠?



