一些C++的字符函数
来源:互联网 发布:js 点击按钮 编辑:程序博客网 时间:2024/06/06 17:04
1,去除字符的\r\n
2,分割字符串
3,转换长整数
4,空格的检验
关于将字符转换为整形:
NAME atoi, atol, atoll, atoq - convert a string to an integerSYNOPSIS #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(const char *nptr);
void str_trim_crlf(char *str) //去除字符的\r\n{ char *p =&str[strlen(str) - 1]; //关于strlen其实是不计算'\0'的,是自己编写的函数,通常与sizeof进行区分,sizeof是计算所有给出的空间 while(*p == '\r' || *p == '\n') *p-- = '\0';}void str_split(const char*str, char *left, char *right, char c) //将字符分成两部分,以c字符为分隔符{ char *p = strchr(str,c); //查找第一个c字符,找不到返回NULL //查找字符串str中首次出现字符c的位置 if(p == NULL) strcpy(left, str);//字符数组的拷贝 else{ strncpy(left, str, p-str); 将一定数目的字符拷贝过来 strcpy(right, p+1);//同样字符的拷贝,直到碰见'\0' }}int str_all_space(const char *str) //查看相应的字符串中是不是有空格{ //我们应该明白的是:传过来的字符数组都可以当做变量来对待,实现++ while(*str) { if(!isspace(*str)) //isspace(*str)检查相应的字符是不是为空格 return 0; str++; } return 1;}void str_upper(char *str) //将相应的字符串中的所有字符转换为大写的!!!{ while(*str) { *str = toupper(*str);//将相应的字符转换为大写 str++; }}long long str_to_longlong(const char *str) //将相应的字符串,转换为长整形{/* long long result = 0; long long mult = 1; unsigned int len = strlen(str); unsigned int i; if(len > 15) return 0; for(i = 0; i < len; i++) { char ch = str[len - (i + 1)]; long long val; if(ch < '0' || ch > '9') return 0; val = ch - '0'; val *= mult; result += val; mult *= 10; }*/ long long result = 0; long long mult = 1; unsigned int len = strlen(str); int i; //如果这里的是unsigned int,那么这里就有可能出现段错误,或者核心转储,因为此刻i不可能为负值 if(len > 15) return 0; for(i = len -1; i >= 0; i--) { char ch = str[i]; long long val; if(ch < '0' || ch > '9') return 0; val = ch - '0'; val *= mult; result += val; mult *= 10; } return result;// return atoll(str);}unsigned int str_octal_to_uint(const char *str) 将八进制字符数转换为整形{ unsigned int result = 0; int seen_non_zero_digit = 0; while(*str) { int digit = *str; if(!isdigit(digit) || digit > '7') //isdigit检查参数是否为阿拉伯数字0到9 break; if(digit != '0') seen_non_zero_digit = 1; if(seen_non_zero_digit) { result <<= 3; result += (digit - '0'); } str++; } return result;}
0 0
- 一些C++的字符函数
- C与指针 六 一些字符函数
- 一些字符函数的实现。
- C的字符处理函数
- 一些常用的字符操作函数
- 关于字符函数的一些应用总结
- string 类 判断字符的一些函数
- C/C++ 中的一些字符操作函数(不是std::string)
- c的一些学习感悟(字符变量和字符指针)
- c的一些函数(转)
- 一些自用的c函数
- c语言的一些函数
- c的一些函数(转)
- (C/C++)值得研究的一些函数
- 几个C的字符转换函数
- C/C++的字符处理函数很重要
- c语言有关字符的函数
- C语言的字符测试函数
- 记号(notation)的学习
- SSH的几种玩法
- 状态机的原理和实现
- 身份证识别鉴别证件真假
- js中字符串处理 split的使用
- 一些C++的字符函数
- Vuejs——(6)Vuejs与form元素
- MySQL 利用UDF执行命令
- Android缓存策略——打造最全的缓存
- 一、无线信息传递——user space下的hostapd
- Virtualbox怎么设置访问外网以及主机访问虚拟机
- intent 传递list或者对象
- 深入了解Angularjs指令中的ngModel
- java中的锁