|
20精币
#include <string.h>
extern "C" __declspec(dllexport) char* _stdcall pjzf(char *a, char *b, char *c);
extern "C" __declspec(dllexport) char* _stdcall Add(int a)
{
int s;
char *sw = "fdff";
s = a / 3600;
strcat(sw , "0");//如何把文本型0转换 char *
//strcat(sw, (char *)s);//如何把整数转换成 char *
//直接转换 (char *)s c++不会报错 但是易语言调用dll时会崩溃
return sw;
}
|
最佳答案
查看完整内容
你这个代码看上去就有问题, c++调用不崩的话, 肯定是你设置忽略了各种警告错误什么的
首先 sw 的类型是 char*, 你使用 const char* 给他赋值
并且还往sw里写了数据, 这一步已经内存溢出了
你应该自己申请内存, 然后把 "fdff" 写进去, 然后再加入 "0", 最后返回sw
sw = (char*)malloc(自己计算大小);
strcpy(sw, "fdff");
strcat(sw, "0");
return sw; ...
|