//进行计算
//s为一保存数字的字符串
pbig_num big_num_add2(pbig_num pb,char *s)
{
static char tmp[3] = {0};
int n = strlen(s);
//p用来操作需要增加0的字符串
char *p;
char *num2 = (char*)malloc(NUM_LEN);
memset(num2,0,NUM_LEN);
strncpy(num2,s,n);
  if (pb->index > n)
  {
  //num2需要增加0
  p = num2;
  aligh_num(p,pb->index - n);
  }
  else if (n > pb->index)
  {
  p = pb->buff;
  aligh_num(p,n - pb->index);
  }
int i;
//添加0之后,重新计算长度
n = strlen(num2);
pb->index = strlen(pb->buff);
  for (i = n - 1; i >= 0; i--)
  {
  memset(tmp,0,3);
  int x = 0;
  x = ctoi(num2[i]) + (ctoi(pb->buff[i])) + (pb->nums[i]);
  sprintf(tmp,"%d",x);
    if (strlen(tmp) == 2 && i != 0)
    {
    pb->nums[i-1] = ctoi(tmp[0]);
    pb->buff[i] = tmp[1];
    }
    else
    {
    pb->buff[i] = tmp[0];
    }
  }
free(num2);
return pb;
}

int _tmain(int argc, _TCHAR* argv[])
{
  pbig_num pbn = big_num_create("1234");
  big_num_add2(pbn,"123431");
  puts(pbn->buff);
  fwrite(pbn->buff,pbn->index,1,stdout);
  getchar();
  big_num_free(&pbn);
  return 0;
}