C:应用于字符串处理函数

出于对C的不够熟悉,在读代码的过程中,平凡出现的字符串处理函数,成为了一个理解代码的大问题。

为了更方便的读取和理解代码,特意将接触到的字符串处理函数列出,方便查询:

    1.strstr(str1,str2)
用于判断字符串str2是否是str1的子串。
如果是,则返回str2在str1中首次出现的地址;否则,返回NULL。
可以用在对字符串限定的时候进行判断,以及字符串处理过程中用来调整指向字符串的指针位置。
2.*strtok_r(char *str, const char *delim, char *saveptr)
用于分割str字符串。
delim为分隔符字符串,saveptr指针变量,用来保存切分时的上下文。
与strtok不同,strtok_r可以使str为NULL,saveptr继承原本的地址,从而对strtok_r返回的参数进行二次分割。
3.*strcat(char *dest,char *src)
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')。
src和dest所指内存区域不可重叠且dest必须有足够的空间,返回指向dest的指针
4.strrchr(string,char)
查找字符在指定字符串中从后面开始的第一次出现的位置。
如果成功,返回指定字符最后一次出现位置的地址,如果失败,则返回 false。
与之相对应的是strchr()函数,它查找字符串中首次出现指定字符的位置。
5.strcasecmp (const char *s1, const char *s2) ----strcmp
用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。
返回值是重点
若参数s1和s2字符串相等则返回0。
s1大于s2则返回大于0 的值,s1 小于s2 则返回小于0的值。
6.*strcpy(char* dest, const char *src)
把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串
返回指向dest的指针
7. *strdup(char *s)
将串拷贝到新建的位置处
strdup()在内部调用了malloc()为变量分配内存,
不需要使用返回的字符串时,需要用free()释放相应的内存空间,
否则会造成内存泄漏。

   8. int atoi(const char *nptr);
      参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。

  

上一篇:P1522 牛的旅行 Cow Tours floyed


下一篇:hdu 4825 Xor Sum (01 Trie)