array2char.c

来自「一些linux基本函数的测试集,给像我一样的新手看看」· C语言 代码 · 共 49 行

C
49
字号
/*
array2char()的目的是把一个四元素(数字)数组转换成一个字符串,
测试结果把{192,168,1,1}转换成"192.168.1.1"字符串;
*/
#include "string.h"
#include "stdio.h"

char *array2char(unsigned char array[],int arraylen)
{
	int i;
	unsigned char str[64];
	unsigned char tmp[10];
	memset(str,0,64);
	memset(tmp,0,10);
	
	sprintf(str,"%d",array[0]);
	printf("test1:%c%d\n",str[0],array[0]);//hagi debug
	
	for(i=1;i<arraylen;i++)
	{
		sprintf(tmp,".%d",array[i]);
		strcat(str,tmp);	
	}
	
	printf("test2:%s\n",str);//hagi debug
	
	return strdup(str);
}

int main()
{
	unsigned char ipaddr[16]={192,168,1,1,0,0,0,0,0,0,};
	unsigned char *str_ipaddr;
	int i=0;
	
	while(ipaddr[i])
	{
		printf("%d.",ipaddr[i]);
		i++;
	}
	printf("\n");
	
	str_ipaddr=array2char(ipaddr,4);
	
	printf("the new string is:%s",str_ipaddr);
	
	free(str_ipaddr);
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?