OpenCV中的cv::String和CString互相转换

请注意是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可以直接相等

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页