my_string.c.bak

来自「uboot底层驱动」· BAK 代码 · 共 89 行

BAK
89
字号
/*
 *	uart.c    -     driver of uart 
 *	
 *	Author: 	<zgxgoo@gmail.com>
 *	Date:		2007-10-31
 */
#include <stdlib.h>
#include <stdio.h>
#include "my_string.h"

int addrdn;
typedef struct pp {
	int p[3];
	int num;
}pt;
pt pr;

char *use_cmd[] = {"help", "dn", "go", "erase", "cp"};

extern int addr[2];


int my_strcmp(const char *dst , const char *src)
{
	
	while ( *src == *dst && *dst != '\0' )
	{
		src++;
		dst++;
	}
	return (*src - *dst); 
}


int my_strcpy(char *dst, char *src)
{

	while (*dst++ = *src++);
	return 0;
}
	
void help_pp()
{
	int i = 0;
	for(; i<5;i++)
	printf("%s\n",use_cmd[i]);
}

void div_cmd(char *cmd)
{
	int i=0;
	int j=0;
        while (cmd[i] == ' ') i++;
	pr.p[j++] = i;
	while (cmd[i] != '\0' && j <= 3) 
	{
	   if (cmd[i] == ' ')
 	   {
		cmd[i++] = '\0';
	   while (cmd[i] == ' ') i++;
           pr.p[j++] = i;
	   pr.num++;
  	   }
	   i++;
	}
	return;
}
	
	
int cmd_cmp(char *cmd)
{
	int i = 0;
	int j = 0;
	int result;
	pr.num = 0;
	div_cmd(cmd);
	for(; i<5;i++)
	{
 	  result = my_strcmp(use_cmd[i], &cmd[pr.p[0]]);
	  if(result == 0)
	  {
		for (; j < pr.num; j++)
                  addr[j] = (int) strtol(&cmd[pr.p[j+1]], (char **) NULL, 16);
	  	return i;
	  }
	}
	return 5;
}

⌨️ 快捷键说明

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