请注意是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可以直接相等
原文:https://blog.csdn.net/sy95122/article/details/81671427