C函数学习总结

一.内存拷贝函数

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’覆盖掉

 二.字符串mem开头处理函数

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

三.字符串str开头函数

char* strcat(char* str1,const char* str2);

char* strncat(char* str1,char* str2,size_t n);

该函数将str2拼接到str1中,参数n代表要拼接的str2中字符数量。 

C函数学习总结_第1张图片

注意,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)
分解字符串 str 为一组字符串,delim 为分隔符。

size_t strxfrm(char *dest, const char *src, size_t n)
根据程序当前的区域选项中的 LC_COLLATE 来转换字符串 src 的前 n 个字符,并把它们放置在字符串 dest 中。

四.stdio中的输入输出函数总结 

C 标准库 – | 菜鸟教程 (runoob.com)

菜鸟教程比较全面 

你可能感兴趣的:(c++知识点,c语言,学习,算法)