c++ string 转换为pbyte 数组,该怎么处理

c++ string 转换为pbyte 数组
本人菜鸟刚刚接触c++
需要亲们帮帮忙写个函数转换的方法

将字符串:
string str=“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsG9CRP764trINtS05BAkk35RGk0AiBMMyCMimYCLHbg==”

在用c++编写dll时候需要将上述字符串返回给转换为 BYTE* 即参数*target

int sm2encrypt(ECCPUBLICKEYBLOB *publickey,BYTE *source,OUT BYTE *target)
------解决方案--------------------
	strcpy(target, str.c_str());

------解决方案--------------------
是要把字符串转换成二进制数据, 还是保留字符串直接给target.
如果保留字符串,1楼已经给出答案了.

BYTE 实际是unsigned char.  上面的代码可能需要修改成: strcpy((char*)target, str.c_str());


------解决方案--------------------
target = (BYTE*)str.c_str();
------解决方案--------------------
#include <climits>

#if CHAR_MIN == SCHAR_MIN 
inline bool helper(char c, unsigned char & uc) 

  if(c >= 0)  
  { 
    uc = (unsigned char)c; 
    return true 
  }  
 return false; 

#else 
inline bool helper(char c, unsigned char & uc) 

   uc = c; 
   return true; 

#endif


------解决方案--------------------
强制转换太粗暴了
------解决方案--------------------
既然是外面传进来的参数,应该是分配了内存的,使用strcpy(target, str.c_str());即可
如果三楼这样写的话是错误的,对指针赋值也应该是个二级指针才行