C语言,如何将一个数组里的所有元素按顺序合并成一个字符串,求例程
展开全部
数组类型 如果 是 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;
}
大端/小端 自己 调整 一下 下面 的 下标就可以了。
#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;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把数字转换成字符不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言的字符串是什么你知道么?
你弄成字符串了要做什么,打印么?
你弄成字符串了要做什么,打印么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询