C语言,如何将一个数组里的所有元素按顺序合并成一个字符串,求例程

假设数组为SendByte[5]={0x00,0x01,0x02,0x03,0x04};... 假设数组为 SendByte[5]={0x00,0x01,0x02,0x03,0x04}; 展开
 我来答
金色潜鸟
2014-01-23 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5709万
展开全部
数组类型 如果 是 4字节 int 型,想把它变成单字节流 用于发送。
大端/小端 自己 调整 一下 下面 的 下标就可以了。

#include <stdio.h>

int main()

{

int SendByte[5]={0x00,0x01,0x02,0x03,0x04};

unsigned char sb[128];

int i,j,n=0;

for (i=0;i<5;i++) {

sb[i*4]= SendByte[i] & 0xff;

sb[i*4+1]= (SendByte[i] >> 8 ) & 0xff;

sb[i*4+2]= (SendByte[i] >> 16 ) & 0xff;

sb[i*4+3]= (SendByte[i] >> 24 ) & 0xff;

}

sb[5*4]='\0';

for (i=0;i<20;i++) printf("%x ",sb[i]);
printf("\n");

//========================
//假定数组SendByte[] 每个元素的值 不大于 0xff, 那么1个int 可用 1 字节 传送:
for (i=0;i<5;i++) sb[i]= (unsigned char) SendByte[i];

sb[5]='\0';

for (i=0;i<5;i++) printf("%x ",sb[i]);

printf("\n");

return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3ad3936
2014-01-23 · 超过12用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:30.7万
展开全部
SendByte[]就是char类型的吧,那就在这个数组末尾加上一个char,即SendByte[5]=NULL,就可以cout<<SendByte<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-04-27
展开全部
char *arrytostring(char SendByte[])
{
    int i=0;
    char *p=(char*)malloc(6);
    char *q=p;
    for(i=0;i<5;i++)
    {
       *p=SendByte[i]+48;
       p++;
    }
    *p='\0';
    p=q;
    return p;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友262a8d918
2014-01-23 · TA获得超过184个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:152万
展开全部
把数字转换成字符不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殴零PK
2014-01-23 · TA获得超过128个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:92.8万
展开全部
C语言的字符串是什么你知道么?
你弄成字符串了要做什么,打印么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式