C字符串查找
来源:互联网 发布:画风好的h漫 知乎 编辑:程序博客网 时间:2024/06/06 04:41
1.有一个字符串”1a2b3d4z”,;
要求写一个函数实现如下功能,
功能1:把偶数位字符挑选出来,组成一个字符串1。valude;20分
功能2:把奇数位字符挑选出来,组成一个字符串2,valude 20
功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。
功能4:主函数能测试通过。
int getStr1Str2(char *souce, char *buf1, char *buf2);
int getStr1Str2(char *souce, char *buf1, char *buf2){ int ret = 0; char *src = souce; if(souce == NULL || buf1 == NULL || buf2 ==NULL){ ret = -1; printf("%s is error!(source == NULL || buf1 == NULL || buf2 ==NULL)\n",__FUNCTION__); return ret; } while(*src != '\0'){ *buf1 = *src; src++; buf1++; *buf2 = *src; src++; buf2++; } return ret;}int main(void){ char src[1024]="1a2b3c4d"; char buf1[512]={0}; char buf2[512]={0}; int ret = 0; ret = getStr1Str2(src,buf1,buf2); if(ret != 0){ printf("getStr1Str2 failed!ret : %d\n",ret); return ret; } printf("src:%s\n",src); printf("偶数位的数据buf2:%s\n",buf2); printf("奇数位的数据buf1:%s\n",buf1); printf("\nHello World!\n"); return 0;}
键值对(”key = valude”)字符串,在开发中经常使用;
要求1:请自己定义一个接口,实现根据key获取valude;40分
要求2:编写测试用例。30分
要求3:键值对中间可能有n多空格,请去除空格30分
注意:键值对字符串格式可能如下:
“key1 = valude1”
“key2 = valude2”
“key3 = valude3”
“key4 = valude4”
“key5 = “
“key6 =“
“key7 = “
int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf);
int trimeSpace(char *src,char *new_str){ int ret = 0; char *tmp_p = src; int head = 0,tail=0; if(src == NULL || new_str == NULL) { ret = -1; printf("%s is error!(src == NULL || count == NULL)\n",__FUNCTION__); return ret; } tail = strlen(src)-1; while(tmp_p[head] != '\0' && isspace(tmp_p[head])){ head++; } while(tmp_p[tail] != '\0' && isspace(tmp_p[tail])){ tail--; } strncpy(new_str,tmp_p+head,tail-head+1); new_str[tail-head+1] = '\0'; return ret;}int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf){ int ret = 0; char * p = keyvaluebuf;//辅助指针变量初始化 if(keyvaluebuf == NULL || keybuf == NULL || valuebuf ==NULL){ ret = -1; printf("%s is error!(keyvaluebuf == NULL || keybuf == NULL || valuebuf ==NULL)\n",__FUNCTION__); return ret; } //1. 从母串中查找子串 p = strstr(p,keybuf); if(p == NULL){ ret = -1; return ret; } p += strlen(keybuf);//辅助指针变量再次初始化使得下一次可用 //2. 判断有没有等号 p = strstr(p,"="); if(p == NULL){ ret = -1; return ret; } p += strlen("=");//辅助指针变量再次初始化使得下一次可用,指向等号后面开始的地方 //3. 去除等号后面的空格 ret = trimeSpace(p,valuebuf);//调用自己封装的函数 if(ret != 0){ printf("getKeyByValude failed \n"); return ret; } return ret;}int main(void){ char *keyandvalue = "key2 = value2 "; char *key = "key2"; char res_str[1024]={0}; int ret = 0; ret = getKeyByValude(keyandvalue,key,res_str); if(ret != 0){ printf("getKeyByValude failed!ret : %d\n",ret); return ret; } printf("res_str:%s\n",res_str); printf("\nHello World!\n"); return 0;}
阅读全文
0 0
- C/C++字符串查找
- objective-c字符串查找
- C 字符串查找函数
- C字符串查找
- 【C语言】查找字符串
- C 字符串查找函数
- C 查找字符串
- C语言查找字符串
- C字符串查找
- C语言字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- C/C++字符串查找函数
- javascript将字符串转化为json
- odoo10 report添加自定义CSS—第二篇
- 高效并发模式,半同步半异步和领导者追随者
- zookeeper基本原理及适用场景
- 《TP5.0学习笔记---模型篇(二)》
- C字符串查找
- Java CallBack&&Hook 回调的实现
- 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
- Oracle查看某个用户下所有表的记录总数和所有表的字段总数
- Redis过期策略 实现原理
- canvas基础
- 视频播放器--jiecaovideoplayer
- SHA1算法与MD5算法的区别
- Greendao多线程下载