void* memcpy(voidr* s1,const void* s2,size_t n);
该函数返回拷贝后的指针。比如说,它可以将一个字符数组缓冲区的内容拷贝到另一个缓冲区中,
size_t n可以使用sizeof进行得到。
memmove(void *s1,const void* s2,size_t n);
如果目标区域和源区域有重叠的话,memmove() 能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,复制后源区域的内容会被更改。如果目标区域与源区域没有重叠,则和 memcpy() 函数功能相同。
void* memset(void* dest, int c,size_t n);
该函数将dest的前n个字符用字符c覆盖,常见的用法是申请一段数组内存,然后用‘\0’覆盖掉
memchr(void* str,int c,size_t n);
该函数将查找字符串str前n个字节中字符c第一次出现的位置,返回查找到的指针,失败返回null.
int memcmp(const void* str1,const void* str2,size_t n);
该函数比较str1和str2前n个字节的大小,如果str1>str2,返回1,如果str1 char* strcat(char* str1,const char* str2); char* strncat(char* str1,char* str2,size_t n); 该函数将str2拼接到str1中,参数n代表要拼接的str2中字符数量。 注意,strcat在win中vs2017中会有不安全函数提示,导致运行失败,需要在第一行添加#pragma warning (disable:4996) ,要注意的是拼接后他是没有空格隔开的。 char* strchr(const char* str1,int c); //查找字符c在字符串str1中首次出现的位置 char* strrchr(const char* str1,int c); //查找字符c在str1中最后一次出现的位置 char* strcmp(const char* str1,const char* str2); //比较两个字符串大小 char* strncmp(const char* str1,const char* str2,size_t n); //比较两个字符串前n个字节的大小 char* strcpy(char* str1,const char* str2); //将str2复制到str1末尾 char* strncpy(char* str1,const char* str2,size_t n); //复制str2中n个字节到str1中 size_t strlen(char* str1); 得到str1的字符大小,不包含\0 char* strstr(const char* str1,const char* str2); //字符串匹配函数,查找str1中字符串str2首次出现的位置 char* strpbrk(const char* str1,const char* str2); //遍历str1中每个字符,当字符在str2中也包含时,停止并返回字符在str1中位置 size_t strspn(const char* str1,const char* str2) //检索字符串str1中首个不存在于str2中的字符 size_t strcspn(char* str1,char* str2); //在str1开头中有几个字符不在str2中,返回个数 char* strerror(int errornum); //这个返回内部错误号的一个字符串,可以用来输出错误信息。 char *strtok(char *str, const char *delim) size_t strxfrm(char *dest, const char *src, size_t n) 菜鸟教程比较全面 三.字符串str开头函数

分解字符串 str 为一组字符串,delim 为分隔符。
根据程序当前的区域选项中的 LC_COLLATE 来转换字符串 src 的前 n 个字符,并把它们放置在字符串 dest 中。四.stdio中的输入输出函数总结