为什么memcpy不能用阿!

moses2000 moses2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我做了一个动态库。有如下代码:
#include "stdafx.h"
#include <string>
#include <iostream>

using namespace std;

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}

//王志伟声明并修改维护该部分代码
struct C_ReaderInfo
{
public:
int int_value;
char char_value[255];
double float_value;
BOOL bool_value;
char * string_value;
} readerdata;
extern "C" __declspec(dllexport) int add( struct C_ReaderInfo * readerdata, char * tmpstr)
readerdata)
{
int i;

i=strlen (readerdata->string_value);
memcpy(tmpstr, readerdata->string_value,i+1);
char *buf = "another";

int j = strlen ( buf );
char * chp = readerdata->string_value;
strcpy(readerdata->string_value,buf);

return 0;
}

build都没有错误,但是通过外部程序调用该动态库出错,经过
跟踪,发现是到了strcpy函数这里发生错误
不知道为什么?
请各位高手给看看
...全文
评论 6
收藏 已收藏
分享
返回顶部
moses2000
进程/线程/DLL 15,466 成员 49,169 内容