1.使用字符分类和转换函数可以提高函数的移植性。
2.在表达式中使用无符号数可能导致不可预料的结果。如果表达式中同时包含有符号数和无符号数,可能会产生奇怪的结果,可以其强制转换成int进行使用。
3.不受限制的字符串函数:通过字符串参数结尾的NUL字节来判断字符串长度。strcpy、strcat和strcmp函数的字符串参数必须必须以一个NUL字节结尾,必须保证目标字符串数组剩余的空间足以保存整个源字符串,否则,将会覆盖原先的数组后面的内存空间。如果src和dst的位置发生重叠,其结果是未定义的。
4.长度受限的字符串函数:这些函数接受一个显示长度的参数。
strncpy:如果src的长度小于len,dst用NU字节填充到len长度;如果src长度大于或等于len,只有len个字符复制到dst中。注意:它的结果将不会以NUL字节结尾。
strncat:n从源字符串复制过来的最大数目。其结果始终以NUL字节结尾。
strncmp:
5.字符串查找:
strchr:查找一个字符串中某个字符第一次出现的位置。
strrchr:查找一个字符串中某个字符最后一次出现的位置。
strpbrk:在一个字符串中查找一个指定字符集中字符任意字符第一次出现的位置。
strstr:在一个字符串中查找另一个字符串第一次出现的位置。
6.高级字符串查找:
strspn:计算一个字符串的起始部分匹配一个指定字符集中任意字符的字符数量。
strcspn:计算一个字符串的起始部分不匹配一个指定字符集中任意字符的字符数量。
strtok:把一个字符串分割成几个字符。
7.内存操作:类似于字符串函数的能力,但是可以处理包含NUL字节在内的任意字节,都接受一个长度参数。
memmove能够正确处理源参数和目标参数出现重叠的情况。