打印本文 打印本文  关闭窗口 关闭窗口  
C++技巧(按长度分隔任意中英文混合字符串)
作者:佚名  文章来源:不详  点击数  更新时间:2008/11/1 20:41:05  文章录入:杜斌  责任编辑:杜斌

  实现代码如下:
  char* DivideStr(char* display_str)
  {
  int length = 0;
  int k = 0;
  int i = 0;
  int len = 0;
  length = strlen(display_str)+1;
  char* tempStr = new char[length+length/5];
  memset(tempStr,0,length+length/5);
  while(display_str[k]!='\0')
  {
  if(display_str[k] <= 122&&display_str[k] >= 32)
  {
  tempStr[i] = display_str[k];
  len++;
  i++;
  k++;
  }
  else
  {
  tempStr[i] = display_str[k];
  if(display_str[k+1]!='\0')//考试大提示如果是汉字就需要双字节计算
  {
  tempStr[i+1] = display_str[k+1];
  }
  len++;
  i+=2;
  k+=2;
  }
  if(len%5 == 0)
  {
  tempStr[i++] = '$';
  }
  }
  return tempStr;
  }
  int main()
  {
  char* str = "一个抽象类tyu吧453u是么";
  printf("%s\n",DivideStr(str));
  return 0;
  }
打印本文 打印本文  关闭窗口 关闭窗口