C 字符串函数(strcpy,strcmp,strcat,strstr,strchr,strlen)

C语言没有专门用于储存字符串的变量类型,字符串都被储存在char类型的数组中。

C中的字符串一定以空字符\0结束,这意味着数组的容量必须至少比存储字符串字符数1

序号转换说明输出
1%c单个字符
2%d%i有符号十进制整数
3%u无符号十进制整数
4%e%E浮点数,e 记数法
5%f浮点数,十进制记数法
6%o无符号八进制整数
7%p指针
8%s字符串
9%x%X无符号十六进制整数
10%%打印一个%

<string.h>文件提供了一些分析操控字符串的函数,其中一些函数以更通用的方式处理内存

序号原型描述
1int memcmp(const void * buf1 , const void * buf2 , unsigned int n)比较内存区域buf1buf2前n个字节
2void *memcpy(void *dest , const void src, unsigned int n)源src内存拷贝n个字节目标dest内存
3int *memset(void *s , int ch , unsigned int n)s中当前位置后面的n个字节ch替换并返回s
4char *strcat(char *dest , const char *src)src包括\0)复制到dest后面
(删除dest原来末尾的\0
5char *strncat(char *dest , const char *src , unsigned int n)src前n个字符添加到dest结尾处
并覆盖dest结尾的\0
6char *strcpy(char *dest , const char *src)src开始且含有\0的字符串复制到dest,返回dest
7char *strncpy(char *dest , const char *src , unsigned int n)src字符串复制n个字节dest,返回dest
8int strcmp(const char *str1 , const char *str2)str1 = str2,则返回
str1 < str2,则返回负数
str1 > str2,则返回正数
9char *strchr(const char *str , char c)查找字符串str首次出现字符c指针,否则返回NULL
10char *strrchr(const char *str , char c)查找字符串str右边首次出现字符c指针,否则返回NULL
11char *strstr(char *str1 , const char *str2)如果str2str1子串,返回str2首次出现指针,否则返回NULL
12int strlen(const char *str1)计算字符串长度

<stdio.h>文件:

序号原型描述
1int sprintf(char *string , char *format [, argument , ...] )字符串格式输出
把格式化的数据写入某个字符串中

版权声明:本文为Hongwei_1990原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。