菜鸟问题!给20分
strcpy(m_Submit.nMsgType, (char*)_bstr_t(pRs->GetCollect("MsgType")));
报错如下:
error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
问题点数:20、回复次数:9Top
1 楼lixiaosan(小三)回复于 2006-06-01 17:02:11 得分 0
strcpy 第一个参数要求是char *
m_Submit.nMsgType 是什么?Top
2 楼tooker(九飞)回复于 2006-06-01 17:04:16 得分 0
如是整型,就可以了.m_Submit.nMsgType=atoi(_bstr_t(pRs->GetCollect("MsgType")));Top
3 楼god_xp()回复于 2006-06-01 22:39:30 得分 0
error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
上面写了,是'char' 这样的数据类型,其实我的问题可以引申为char类型如何转换为char*Top
4 楼nuaawenlin(飘人)回复于 2006-06-02 11:26:10 得分 0
char * 强制转换Top
5 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-06-02 11:38:27 得分 0
strcpy(m_Submit.nMsgType, (char*)_bstr_t(pRs->GetCollect("MsgType")));
===========>>>
m_Submit.nMsgType = *(char*)_bstr_t(pRs->GetCollect("MsgType"));Top
6 楼yzxandfcm(最近想学一下J2ME)回复于 2006-06-02 12:19:28 得分 0
强转 char *Top
7 楼qiaodong()回复于 2006-06-05 12:20:08 得分 0
不能强转,使参数的设置问题Top
8 楼51365133(渊海)回复于 2006-06-05 12:33:24 得分 0
error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
楼主的提示是因为m_Submit.nMsgType 在定义的时候定义的是char 的问题,
如果是这样的话,那么就不能用strcpy了,因为strcpy是不能把char *复制到char 类型里边的,可以直接复制.来解决..Top
9 楼51365133(渊海)回复于 2006-06-05 12:40:29 得分 0
#include <stdio.h>
#include <string.h>
struct DATA
{
char type;
};
void main(void)
{
DATA m_data;
char *type="a";
//错误原因
// strcpy(m_data.type,type); //产生的错误和楼主一样.
/*
test.cpp
D:\Test\test\test.cpp(14) : error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
*/
//第一中解决方法
m_data.type=*type;
printf("%c",m_data.type);
//另外的解决方法是把结构中修改定义,既可直接使用strcpy了
/*
struct DATA
{
//char type;
char type[255];
};
*/
}
Top




