在C++中,如何把字节数组转换成字符串 100

 我来答
White_MouseYBZ
2015-06-10 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6661万
展开全部
在这个数组的最后加一个字节'\0'就变成了char字符串。如果原数组的大小最后没有空位,那就得另声明一个大一点的char数组,然后在最后加一个'\0'。如果是要转换成string型字符串,那如下就行了:
char a[20]={'1','s','o'};
for(int i=0;i<n;i++)//n是原字符串的长度
string str+=a[i];

这样就把原来的字符数组a里的元素转换成string型字符串str了……
追问
我下节课试试着好吧
传薪网络
2015-11-16 · TA获得超过1355个赞
知道小有建树答主
回答量:635
采纳率:92%
帮助的人:244万
展开全部

  字节数组转化为字符串数组只需要做一个判断:检查字节数组最后一个字节是否为0,如果是,则直接复制。否则则需要追加一个为0的字节到末位。示例代码如下:

char* toString(char* data,size_t len,char* str,size_t strLen)
{//注意strLen>len否则函数结果不可知
    if(data[len-1]==0){
        strcpy(str,data);
    }else{
        memcpy(str,data,len);
        str[len]=0;
    }
    return str;
}

  

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风华正少茂
2015-09-28 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:50%
帮助的人:47.6万
展开全部
可以用for
char a[100];
String str;
for(int i=0;i<n;i++)
str[i]=a[i];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fcb9d98
2015-06-10 · TA获得超过298个赞
知道小有建树答主
回答量:779
采纳率:30%
帮助的人:417万
展开全部
char array[]="qwertyuiop";
string str(array);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰血无双
2015-10-22 · TA获得超过246个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:324万
展开全部
DataIn是BYTE型数组
CString str = CString(DataIn)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式