数据库Initcap函数实现
来源:互联网 发布:云杉网络招聘 编辑:程序博客网 时间:2024/06/03 22:51
#include "iostream"#include <ctype.h>#define UTF8_CHAR_LEN( first_byte ) ((( 0xE5000000 >> (( first_byte >> 3 ) & 0x1e )) & 3 ) + 1)void InitCap(char* buffer, char* src, int src_len) { if (src_len == 0 || src == NULL || buffer == NULL) { return; } char *end = src + (src_len)-1; char *start = src; int len = 0; bool is_upper = true; while (start <= end) { int utfLen = UTF8_CHAR_LEN((unsigned char)*start); if (islower(*start)) { buffer[len++] = (is_upper == true ? toupper(*start) : *start); is_upper = false; } else if (isupper(*start)) { buffer[len++] = (is_upper == false ? tolower(*start) : *start); is_upper = false; } else if (isdigit(*start)) { buffer[len++] = *start; is_upper = false; } else { memcpy(buffer + len, start, utfLen); len += utfLen; is_upper = true; } start += utfLen; }}int main() { char* buffer = new char[100]; memset(buffer, 0, 100);// char* src = "wwaa^aa";// char* result = "Wwaa^Aa";// InitCap(buffer, src, strlen(src));// if (memcmp(buffer, result, strlen(result) != 0)) {// std::cout << "error" << std::endl;// }// char* src = "www 我 zzz";// char* result = "Www 我 Zzz";// std::cout << "1111111" << std::endl;// InitCap(buffer, src, strlen(src));// if (memcmp(buffer, result, strlen(result) != 0)) {// std::cout << "error" << std::endl;// } char* src = "wwaa我aa"; char* result = "Wwaa我Aa"; InitCap(buffer, src, strlen(src)); if (memcmp(buffer, result, strlen(result) != 0)) { std::cout << "error" << std::endl; } delete[]buffer; return 0;}
0 0
- 数据库Initcap函数实现
- ORACLE函数之INITCAP
- oracle的单行函数initcap()
- oracle常用函数之INITCAP & INSTR
- Oracle 63条函数(CHR,CONCAT,INITCAP)
- oracle initcap
- INITCAP(c1)
- OCP-1Z0-051 第77题 INITCAP和SUBSTR函数
- OCP-1Z0-051 第84题 CONCAT,RAPLACE,INITCAP,SUBSTR函数
- 数据库Length函数实现
- 实现CADOConn类连接数据库函数:OnInitADOConn()
- oracle数据库 行转列 用decode函数实现
- 1Z0-051 QUESTION 12 别名和INITCAP的运用
- hibernate不能实现的数据库函数怎么使用呢
- 使用PHP函数实现与数据库的通信
- 数据库 函数
- 数据库函数
- 数据库-函数
- 为什么启动weblogic进入控制台后,AdminServer是ShutDown状态
- Ubuntu 14.04,只显示墙纸和鼠标光标
- Hihocoder-小Hi的烦恼
- C++中的容器类详解
- android应用开发调试手段
- 数据库Initcap函数实现
- 大数据分析师养成记
- windows下redis 开机自启动
- SCrapy爬虫大战京东商城
- MATLAB数据矩阵单位化,归一化,标准化
- vijos1264 lcs+ lis
- Java基础 (数组)
- myeclips 中js无法及时生效
- 关于在Android studio 中的DDMS打不开data的一些建议