您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CHAR_MATCHES函数代码示例

51自学网 2021-06-01 20:00:12
  C++
这篇教程C++ CHAR_MATCHES函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CHAR_MATCHES函数的典型用法代码示例。如果您正苦于以下问题:C++ CHAR_MATCHES函数的具体用法?C++ CHAR_MATCHES怎么用?C++ CHAR_MATCHES使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CHAR_MATCHES函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: PREFIX

static int PTRCALLPREFIX(scanComment)(const ENCODING *enc, const char *ptr,                    const char *end, const char **nextTokPtr){  if (ptr != end) {    if (!CHAR_MATCHES(enc, ptr, ASCII_MINUS)) {      *nextTokPtr = ptr;      return XML_TOK_INVALID;    }    ptr += MINBPC(enc);    while (ptr != end) {      switch (BYTE_TYPE(enc, ptr)) {      INVALID_CASES(ptr, nextTokPtr)      case BT_MINUS:        if ((ptr += MINBPC(enc)) == end)          return XML_TOK_PARTIAL;        if (CHAR_MATCHES(enc, ptr, ASCII_MINUS)) {          if ((ptr += MINBPC(enc)) == end)            return XML_TOK_PARTIAL;          if (!CHAR_MATCHES(enc, ptr, ASCII_GT)) {            *nextTokPtr = ptr;            return XML_TOK_INVALID;          }          *nextTokPtr = ptr + MINBPC(enc);          return XML_TOK_COMMENT;        }        break;      default:        ptr += MINBPC(enc);        break;      }    }  }  return XML_TOK_PARTIAL;}
开发者ID:Ashod,项目名称:Phalanger,代码行数:35,


示例2: PREFIX

static int PTRCALLPREFIX(scanPi)(const ENCODING *enc, const char *ptr,               const char *end, const char **nextTokPtr){  int tok;  const char *target = ptr;  REQUIRE_CHAR(enc, ptr, end);  switch (BYTE_TYPE(enc, ptr)) {  CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)  default:    *nextTokPtr = ptr;    return XML_TOK_INVALID;  }  while (HAS_CHAR(enc, ptr, end)) {    switch (BYTE_TYPE(enc, ptr)) {    CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)    case BT_S: case BT_CR: case BT_LF:      if (!PREFIX(checkPiTarget)(enc, target, ptr, &tok)) {        *nextTokPtr = ptr;        return XML_TOK_INVALID;      }      ptr += MINBPC(enc);      while (HAS_CHAR(enc, ptr, end)) {        switch (BYTE_TYPE(enc, ptr)) {        INVALID_CASES(ptr, nextTokPtr)        case BT_QUEST:          ptr += MINBPC(enc);          REQUIRE_CHAR(enc, ptr, end);          if (CHAR_MATCHES(enc, ptr, ASCII_GT)) {            *nextTokPtr = ptr + MINBPC(enc);            return tok;          }          break;        default:          ptr += MINBPC(enc);          break;        }      }      return XML_TOK_PARTIAL;    case BT_QUEST:      if (!PREFIX(checkPiTarget)(enc, target, ptr, &tok)) {        *nextTokPtr = ptr;        return XML_TOK_INVALID;      }      ptr += MINBPC(enc);      REQUIRE_CHAR(enc, ptr, end);      if (CHAR_MATCHES(enc, ptr, ASCII_GT)) {        *nextTokPtr = ptr + MINBPC(enc);        return tok;      }      /* fall through */    default:      *nextTokPtr = ptr;      return XML_TOK_INVALID;    }  }  return XML_TOK_PARTIAL;}
开发者ID:RTEMS,项目名称:rtems-libbsd,代码行数:58,


示例3: PREFIX

static int PTRCALLPREFIX(predefinedEntityName)(const ENCODING *enc, const char *ptr,                             const char *end){  UNUSED(enc);  switch ((end - ptr)/MINBPC(enc)) {  case 2:    if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_t)) {      switch (BYTE_TO_ASCII(enc, ptr)) {      case ASCII_l:        return ASCII_LT;      case ASCII_g:        return ASCII_GT;      }    }    break;  case 3:    if (CHAR_MATCHES(enc, ptr, ASCII_a)) {      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_m)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_p))          return ASCII_AMP;      }    }    break;  case 4:    switch (BYTE_TO_ASCII(enc, ptr)) {    case ASCII_q:      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_u)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {          ptr += MINBPC(enc);          if (CHAR_MATCHES(enc, ptr, ASCII_t))            return ASCII_QUOT;        }      }      break;    case ASCII_a:      ptr += MINBPC(enc);      if (CHAR_MATCHES(enc, ptr, ASCII_p)) {        ptr += MINBPC(enc);        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {          ptr += MINBPC(enc);          if (CHAR_MATCHES(enc, ptr, ASCII_s))            return ASCII_APOS;        }      }      break;    }  }  return 0;}
开发者ID:dreamzor,项目名称:xsde-cmake,代码行数:55,


示例4: PREFIX

staticint PREFIX(predefinedEntityName)(const ENCODING *enc, const char *ptr, const char *end){	(void)enc;  switch (end - ptr) {  case 2 * MINBPC:    if (CHAR_MATCHES(enc, ptr + MINBPC, 't')) {      switch (BYTE_TO_ASCII(enc, ptr)) {      case 'l':	return '<';      case 'g':	return '>';      }    }    break;  case 3 * MINBPC:    if (CHAR_MATCHES(enc, ptr, 'a')) {      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'm')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'p'))	  return '&';      }    }    break;  case 4 * MINBPC:    switch (BYTE_TO_ASCII(enc, ptr)) {    case 'q':      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'u')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'o')) {	  ptr += MINBPC;  	  if (CHAR_MATCHES(enc, ptr, 't'))	    return '"';	}      }      break;    case 'a':      ptr += MINBPC;      if (CHAR_MATCHES(enc, ptr, 'p')) {	ptr += MINBPC;	if (CHAR_MATCHES(enc, ptr, 'o')) {	  ptr += MINBPC;  	  if (CHAR_MATCHES(enc, ptr, 's'))	    return '/'';	}      }      break;    }  }  return 0;}
开发者ID:ChakaZulu,项目名称:my_tuxbox_apps,代码行数:53,


示例5: PREFIX

static int PTRFASTCALLPREFIX(charRefNumber)(const ENCODING *enc, const char *ptr){  int result = 0;  /* skip &# */  ptr += 2*MINBPC(enc);  if (CHAR_MATCHES(enc, ptr, ASCII_x)) {    for (ptr += MINBPC(enc);         !CHAR_MATCHES(enc, ptr, ASCII_SEMI);         ptr += MINBPC(enc)) {      int c = BYTE_TO_ASCII(enc, ptr);      switch (c) {      case ASCII_0: case ASCII_1: case ASCII_2: case ASCII_3: case ASCII_4:      case ASCII_5: case ASCII_6: case ASCII_7: case ASCII_8: case ASCII_9:        result <<= 4;        result |= (c - ASCII_0);        break;      case ASCII_A: case ASCII_B: case ASCII_C:      case ASCII_D: case ASCII_E: case ASCII_F:        result <<= 4;        result += 10 + (c - ASCII_A);        break;      case ASCII_a: case ASCII_b: case ASCII_c:      case ASCII_d: case ASCII_e: case ASCII_f:        result <<= 4;        result += 10 + (c - ASCII_a);        break;      }      if (result >= 0x110000)        return -1;    }  }  else {    for (; !CHAR_MATCHES(enc, ptr, ASCII_SEMI); ptr += MINBPC(enc)) {      int c = BYTE_TO_ASCII(enc, ptr);      result *= 10;      result += (c - ASCII_0);      if (result >= 0x110000)        return -1;    }  }  // Some faggots compose mails with ancient control symbols in headers.// Libexpat tokenizer breaks on them (so far 'Form Feed' and 'DC2' were found).  if (result == 0x0C) {    result = 0x0A;  }  else if (result == 0x12) {    result = ' ';  }  return checkCharRefNumber(result);}
开发者ID:serjepatoff,项目名称:libexpat,代码行数:53,


示例6: PREFIX

staticint PREFIX(nameMatchesAscii)(const ENCODING *enc, const char *ptr1, const char *ptr2){  for (; *ptr2; ptr1 += MINBPC(enc), ptr2++) {    if (!CHAR_MATCHES(enc, ptr1, *ptr2))      return 0;  }  switch (BYTE_TYPE(enc, ptr1)) {  case BT_LEAD2:  case BT_LEAD3:  case BT_LEAD4:  case BT_NONASCII:  case BT_NMSTRT:#ifdef XML_NS  case BT_COLON:#endif  case BT_HEX:  case BT_DIGIT:  case BT_NAME:  case BT_MINUS:    return 0;  default:    return 1;  }}
开发者ID:HaikuArchives,项目名称:BeAIM,代码行数:25,


示例7: PREFIX

staticint PREFIX(scanCdataSection)(const ENCODING *enc, const char *ptr, const char *end,                             const char **nextTokPtr){  static const char CDATA_LSQB[] = { ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, ASCII_LSQB };  int i;  cmExpatUnused(enc);  /* CDATA[ */  if (end - ptr < 6 * MINBPC(enc))    return XML_TOK_PARTIAL;  for (i = 0; i < 6; i++, ptr += MINBPC(enc)) {    if (!CHAR_MATCHES(enc, ptr, CDATA_LSQB[i])) {      *nextTokPtr = ptr;      return XML_TOK_INVALID;    }  }  *nextTokPtr = ptr;  return XML_TOK_CDATA_SECT_OPEN;}
开发者ID:Skylion007,项目名称:vxl,代码行数:19,



注:本文中的CHAR_MATCHES函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CHAR_getChar函数代码示例
C++ CHAR_MACRO函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。