佚名通过本文主要向大家介绍了atl activex,编写strcpy函数,编写strcpy,atl,atl71.dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL编写ActiveX中,使用strcpy会出错?
描述:
解决方案1:
描述:
char *a[3], *b="sdgsd";
strcpy(a[0] ,b); // error here!
解决方案1:
这个时候,标准的东西在这里有了不同;
你需要这样:
someCtl()
{
sArry[0] = new char[64];
sArry[1] = new char[64];
sArry[2] = new char[64];
.....
}
跟superS(super慢)说的一样!需要固定内存.你回去试一试!
你可以先
ATLASSERT(a[0]);
ATLASSERT(b);
strcpy(a[0] ,b);
在构造函数里面;
someCtl()
{
sArry[0] = sArry[1] = sArry[2] = "";
}
已经分配和初始化了!
这样也没有分配内存啊。
someCtl()
{
sArry[0] = new char[256];
sArry[1] = new char[256];
sArry[2] = new char[256];
}
a[0]未初始化,strcpy(a[0] ,b); 当然出错。