C语言函数处理字符串 c语言 字符串处理函数

C语言字符串处理函数strcpy(string
,string
)---把后1个复制后放入前一个字符串,空间要够
strcat(string
,string
)
---把后1个剪切后放入前一个字符串,空间要够
strcmp(string
,string
)---比较2个字符串,0为相同,0前1个大,0后1个大
strlen(string
)---字符串长度
C语言中有哪些字符串处理函数?因为c语言中,数组初始化时,如果给定的初始值个数小于数组长度,那么后面的剩余元素将被自动初始化为0 , 也就是字符串的结束标志'\0'
strcmp()函数就是用于查找两个以'\0'结束的字符串中的第一个不相同的字符的ascii值之差,如果将数组长度改为5,那么strcmp函数在前5个字符中找不到结束标志,又因为程序不会对边界进行检查 , 所以会一直找下去,而此时,早已越界,所以会输出不可预见的结果 。
C语言关于字符串的操作函数有哪些string.h头文件中包含的字符串函数
void *memcpy(void *dest, const void *src, size_t n);//将n字节长的内容从一个内存地址复制到另一个地址;如果两个地址存在重叠,则最终行为未定义
void *memmove(void *dest, const void *src, size_t n);//将n字节长的内容从一个内存地址复制到另一个地址;与memcpy不同的是它可以正确作用于两个存在重叠的地址
void *memchr(const void *s, char c, size_t n);//在从s开始的n个字节内查找c第一次出现的地址并返回,若未找到则返回NULL
int memcmp(const void *s1, const void *s2, size_t n);//对从两个内存地址开始的n个字符进行比较
void *memset(void *, int, size_t);//用某种字节内容覆写一段内存空间
char *strcat(char *dest, const char *src);//在字符串dest之后连接上src
char *strncat(char *dest, const char *src, size_t n);//从src截取n个字符连接在字符串dest之后,返回dest字符串
char *strchr(const char* str, int ch);//从字符串str头开始查找字符ch首次出现的位置
char *strrchr(const char* str,int ch);//从字符串str尾开始查找字符ch首次出现的位置
int strcmp(const char *, const char *);//基于字典顺序比较两个字符串
int strncmp(const char *, const char *, size_t);//基于字典顺序比较两个字符串,最多比较n个字节
int strcoll(const char *, const char *);//基于当前区域设置的字符顺序比较两个字符串
char *strcpy(char* str1, const char* str2);//将str2拷贝给str1
char *strncpy(char* str1, const char* str2, size_t n);//截取str2的n个字符拷贝给str1
char *strerror(int);//返回错误码对应的解释字符串,参见errno.h(非线程安全函数)
size_t strlen(const char *);//返回一个字符串的长度
size_t strspn(const char *s, const char *strCharSet);//从字符串s的起始处开始 , 寻找第一个不出现在strCharSet中的字符,返回其位置索引值 。换句话说,返回从字符串s的起始位置的完全由strCharSet中的字符构成的子串的最大长度 。strspn为string span的缩写 。不支持多字节字符集 。
size_t strcspn(const char *s, const char *strCharSet);//从字符串s的起始处开始,寻找第一个出现在strCharSet中的字符,返回其位置索引值 。换句话说 , 返回从字符串s的起始位置的完全由不属于strCharSet中的字符构成的子串的最大长度 。strcspn为string complement span的缩写 。不支持多字节字符集 。
char *strpbrk(const char *s, const char *strCharSet);//在字符串s中查找strCharSet中任意字符第一次出现的位置的指针值 。strpbrk为string pointer break缩写 。不支持多字节字符集 。
char *strstr(const char *haystack, const char *needle);//在字符串haystack中查找字符串needle第一次出现的位置,heystack的长度必须长于needle

推荐阅读