在C++中,如何把字节数组转换成字符串 100
5个回答
展开全部
在这个数组的最后加一个字节'\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了……
char a[20]={'1','s','o'};
for(int i=0;i<n;i++)//n是原字符串的长度
string str+=a[i];
这样就把原来的字符数组a里的元素转换成string型字符串str了……
追问
我下节课试试着好吧
展开全部
字节数组转化为字符串数组只需要做一个判断:检查字节数组最后一个字节是否为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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用for
char a[100];
String str;
for(int i=0;i<n;i++)
str[i]=a[i];
char a[100];
String str;
for(int i=0;i<n;i++)
str[i]=a[i];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char array[]="qwertyuiop";
string str(array);
string str(array);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataIn是BYTE型数组
CString str = CString(DataIn)
CString str = CString(DataIn)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询