社区
图形处理/算法
帖子详情
错误C2664 无法将参数1从CString转换为const char*
october1993
2016-03-22 02:55:39
用的VS2015和opencv3.0
想用MFC工程做一个点击按钮,选择一张图片把图片显示出来,可是出现错误如图,求大神们指点
...全文
1249
2
打赏
收藏
错误C2664 无法将参数1从CString转换为const char*
用的VS2015和opencv3.0 想用MFC工程做一个点击按钮,选择一张图片把图片显示出来,可是出现错误如图,求大神们指点
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
puddingli
2016-03-22
打赏
举报
回复
1
改成多字节字符集就好了,或者要用Unicode字符集的话,就把代码改成cvLoadImage(CT2CA(strNamaFile),
shenyi0106
2016-03-22
打赏
举报
回复
右键点击项目,选择“属性”
在”配置属性“页,选择”常规“,找到”字符集“,改成”未设置“,保存
重新编译
(
const
)
char
转C
String
详解(字符串类型
转换
详解,不断补充)
(
const
)
char
转C
String
详解(字符串类型
转换
详解,不断补充)
string
、c
string
、
char
* 转化问题
字符串之间的转化问题一直令人头痛,本文对此提出了不同的解答
C
String
,
string
,
char
*之间的
转换
随笔 - 764 文章 - 3 评论 - 196 C
String
,
string
,
char
*之间的
转换
(转) 这三种类型各有各的优点,比如C
String
比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。
string
是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;
char
*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以
char
*作为
参数
输入的。所以熟练掌握三者之间的
转换
十分必要。 以下我用简单的图示指出三者之间的关系,并以标号对应
转换
的方法。 1
string
to C
String
C
String
.format("%s",
string
.c_str()); 2 C
String
to
string
string
str(C
String
.GetBuffer(str.GetLength())); 3
string
to
char
*
char
*p=
string
.c_str(); 4
char
* to
string
string
str(
char
*); 5 C
String
to
char
* strcpy(
char
,C
String
,sizeof(
char
)); 6
char
* to C
String
C
String
.format("%s",
char
*); C
String
的format方法是非常好用的。
string
的c_str()也是非常常用的,但要注意和
char
*
转换
时,要把
char
定义成为
const
char
*,这样是最安全的。 以上函数UNICODE编码也没问题:unicode下照用,加个_T()宏就行了,像这样子_T("%s") 补充: C
String
可能是 C
String
W/C
String
A,在与
string
转换
时,如果是 C
String
W,还涉及编码
转换
问题。下面以 C
String
A 来说明。 1
string
to C
String
C
String
.format("%s",
string
.c_str()); C
String
A =
string
.c_str() 就可以了 2 C
String
to
string
string
str(C
String
.GetBuffer(str.GetLength())); GetBuffer 有
参数
的话,可能导致内部的分配空间动作,要进行后续 ReleaseBuffer 操作。
string
= C
String
A
string
= C
String
A.GetBuffer(); 3
string
to
char
*
char
*p=
string
.c_str(); 4
char
* to
string
string
str(
char
*); 5 C
String
to
char
* strcpy(
char
*,C
String
,sizeof(
char
)); 按照 3 风格,这里应该
char
* = C
String
A; 或者
char
*p = C
String
A.GetBuffer(); 6
char
* to C
String
C
String
A =
char
* 就可以了
C++类型
转换
(
char
*
string
c
string
unicode ansi )
转换
自己根据实际编程中用到的字符类型
转换
的收集,C++类型
转换
(
char
*
string
c
string
unicode ansi 等等)
转换
c
string
string
char
*的对比,使用,相互
转换
的介绍
c
string
string
char
*的对比,使用,相互
转换
的介绍。
图形处理/算法
19,473
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章