C语言字符串操作函数
刚结完帖,有点分了
C语言有没有取一个字符串某两个字符中间字符的函数
如:getmid(str,c1,c2)返回c1与c2中间的字符串
有没有获得某个字符在字符串的索引的函数
如:getindex(str,c)返回c 在str中的位置
注意是C函数,不是string的成员函数
另外C语言字符串操作函数都有哪些,除了strcpy,strcmp,strlen,strtok,strsep,strdup,strncpy,strncmp,strchr,strstr外还有哪些函数用实用一些
[解决办法]
第一个,返回字符串貌似不怎么好,还是把变量当参数传进去,让函数自己改为好。
- C/C++ code
int getmid(char *str, int a, int b ,char *out)/* * str为输入的字符串,a为起点,b为终点,out为输出的中间字符串* 如果参数正确,返回0,否则返回-1*/{ int temp; /* 临时变量 */ if(b > a) { /* 交换a和b的值 */ temp = b; b = a; a = temp; } if(a >= 0 && b <= strlen(str)) {/* 如果a和b都在字符串长度的有效范围内 */ char *p = NULL; p = str + a; strcpy(out, p); out[b - a] = 0; /* 加上字符串结束符,其实也就是0 */ } else {/* 否则返回-1 */ return -1; } return 0;}