如何将C++中string类型的字符串赋给unsigned char数组

如何将C++中string类型的字符串转化为unsignedchar数组如何将C++中string类型的字符串转化为wchat_t类型数组... 如何将C++中string类型的字符串转化为unsigned char数组
如何将C++中string类型的字符串转化为wchat_t类型数组
展开
 我来答
template__
推荐于2018-03-22 · 超过67用户采纳过TA的回答
知道答主
回答量:149
采纳率:100%
帮助的人:130万
展开全部
如何将C++中string类型的字符串转化为unsigned char数组
std::string str("str");

由于string内部本身就是char的动态数组
另外char和unsigned char的存储空间完全一样 都是1byte

一般直接 &str[0]就可以了
如果要复制的话
unsigned char arr[size] = {0}; //这个size 要大于 str.size();
memcpy(arr, &str[0], str.size());

如何将C++中string类型的字符串转化为wchat_t类型数组
字符编码不样的
可以用windows的MultibyteToWidechar
如果要跨平台的话建议直接用iconv处理
qmg1023
2013-11-28 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:902万
展开全部

写了unsigned char的,另一个类型照抄

#include <string>
#include <iostream>

using namespace std;

int main()
{
string s="i like it";
unsigned char str[200];

int len=s.length();

for(int i=0;i<len;++i)
str[i]=s[i];
str[i]='\0';

cout<<str<<endl;
}
更多追问追答
追问

貌似有点问题,编译能过,运行就不行了

追答
内存越界了,你的char数组定义的够长么?

会不会超过那个12或者1024?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式