EXTERN_C BSTR __stdcall GetSub(LPCSTR sFile)
{
int GetCode[10][8];
char *rtnStr="AAAA";
char *str1="BBBB";
strcpy(rtnStr,str1);
return SysAllocString((BSTR)rtnStr);
}
给VB调用会出错,去掉:
char *str1="BBBB";
strcpy(rtnStr,str1);
正常返回AAAA。
请问问题出在哪里???
{
int GetCode[10][8];
char *rtnStr="AAAA";
char *str1="BBBB";
strcpy(rtnStr,str1);
return SysAllocString((BSTR)rtnStr);
}
给VB调用会出错,去掉:
char *str1="BBBB";
strcpy(rtnStr,str1);
正常返回AAAA。
请问问题出在哪里???
rtnStr是常量指针,既然要修改内容,把rtnStr改成数组
char rtnStr[100]="AAAA";
就是,如果:
int a=2;
int *b;
*b=(char *)a;
strcat(rtnStr,b); //编译没错,可是VB调用的时候挂了这是为什么呢?