toktoarray.c

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

C
47
字号
//函数目的:把字符串"192.168.1.1"转换成一个四元素的数字数组,如{192,168,1,1};
//测试结果:把"192.168.1.1"转换成了{192,168,1,1}.

#include "string.h"
#include "stdio.h"

int toktoarray(char *tokchar,const char *tok,char array[],int arraylen)
{
	char *b=NULL,*tmp=tokchar;
	int i=0;
	memset(array,0,arraylen);
	if(tokchar==NULL||tok==NULL)
	{
		return 0;
	}
	while((b=strtok(tmp,tok))&&i<arraylen)
	{
		array[i]=(char)atoi(b);
		i++;
		tmp+=strlen(b)+1;
	}
	
	if(i<arraylen)
	{
		for(;i<arraylen;i++)
			array[i]=0;
	}
	return 1;
}

int main()
{
	 char str[]="192.168.1.1";
	 unsigned char ipaddr[4];
	 int i;
	 
	 printf("begin....\n");
	 toktoarray(str,".",ipaddr,4);
	 
	 printf("the array number all is:");
	 for(i=0;i<4;i++)
	 	printf("****%d",ipaddr[i]);
	 printf("\n");
	 	
	 return 1;
}

⌨️ 快捷键说明

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