c++ string 转换为pbyte 数组

wangxiaoyun987 2014-02-27 11:58:27
本人菜鸟刚刚接触c++
需要亲们帮帮忙写个函数转换的方法

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

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

int sm2encrypt(ECCPUBLICKEYBLOB *publickey,BYTE *source,OUT BYTE *target)
...全文
333 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
booirror 2014-02-28
  • 打赏
  • 举报
回复
既然是外面传进来的参数,应该是分配了内存的,使用strcpy(target, str.c_str());即可 如果三楼这样写的话是错误的,对指针赋值也应该是个二级指针才行
mujiok2003 2014-02-28
  • 打赏
  • 举报
回复
强制转换太粗暴了
mujiok2003 2014-02-28
  • 打赏
  • 举报
回复
#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

buyong 2014-02-28
  • 打赏
  • 举报
回复
target = (BYTE*)str.c_str();
xiaohuh421 2014-02-28
  • 打赏
  • 举报
回复
是要把字符串转换成二进制数据, 还是保留字符串直接给target. 如果保留字符串,1楼已经给出答案了. BYTE 实际是unsigned char. 上面的代码可能需要修改成: strcpy((char*)target, str.c_str());
AndyStevens 2014-02-28
  • 打赏
  • 举报
回复
	strcpy(target, str.c_str());

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧