mystring.cc

来自「ears-0.32, linux下有用的语音信号处理工具包」· CC 代码 · 共 69 行

CC
69
字号
#include <string>#include <function.h>#include <algo.h>#include <cctype>bool not_equal (const string& lhs, const string& rhs){  return !(lhs==rhs);}struct toupper : unary_function <char,char>{  char operator() (const char& x) { return toupper(x); }};struct tolower : unary_function <char,char>{  char operator() (const char& x) { return tolower(x); }};string& upcase (string& s) {   transform (s.begin(), s.end(), s.begin(), toupper);  return s;}string& downcase (string& s) {   transform (s.begin(), s.end(), s.begin(), tolower);  return s;}string& capitalize (string& s){  char* S = new char [s.length()+1];  char* p = S;  const char* e = s.c_str();  for (; *e; ++p,++e)   {    bool word_start = isalnum(*e);    *p = word_start? toupper(*e) : *e;    if (word_start)    {      ++e; ++p;      for (; *e; ++p,++e)       {        if (isupper(*e))          *p = tolower(*e);        else if (isalnum(*e) || *e=='\'' || *e=='_')          *p = *e;        else          break;      }      --e; --p;    }  }  *p=0;  s = S;  delete [] S;  return s;}string replicate (char c, int n){  return string(n,c);}

⌨️ 快捷键说明

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