定义c语言字符串处理函数,c语言中字符串处理函数

C语言字符串操作函数

strupr:将字符串s转换为大写形式

公司主营业务:成都做网站、成都网站制作、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出玉屏免费做网站回馈大家。

strlwr:将字符串s转换为小写形式

以上两个没说的!

●strlen功能:返回字符串s的长度,不包括串结束字符'\0',也不是数组长度;

如下几种方式:

1)strlen("china") 结果为5

2)char s[20]="china";

strlen(s) 结果为5

3)char *s="china";

strlen(s) 结果为5

●strcpy(字符串1,字符串2): 把字符串2中的所有内容,复制到字符串1中,不管字符串1中原先存放的是什么,全部被覆盖(要注意的是s1的长度要足够容纳s2)

●strcat(字符串1,字符串2): 将两个字符串连接,形成一个新的字符串(要注意的是s1的长度要足够容纳s1和s2,只能字符串和字符串连接,不能直接和整型,float,double等连接,不过可以加上双引号" ",使之变成字符型)

如下:

#includestdio.h

#includestring.h

void main()

{

char a[100];

char b[100];

strcpy(a,"我爱-");

strcpy(b,"-美女");

strcat(a,b);

puts(a); /*输出:我爱--美女*/

}

●strcmp比较字符串的大小,但不是比较s1和s2的长度,而是比较对应字符串中的ASCII码的大小

如下:

char s1[10]="china";

char s2[10]="chz";

strcmp(s1,s2); //返回一个负数,即s1s2。虽然s1的长度大于s2,但比较的是ASCII码

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

char *strtok(char *strToken, const char *strDelimit );//将一个字符串strToken依据分界符(delimiter)分隔成一系列字符串。此函数非线程安全,且不可重入;但MSVC实现时使用了thread-local static variable因而是线程安全的单仍然是不可重入,即在单线程中不能对两个源字符串交替调用该函数来分析token,应当对一个字符串分析完成后再处理别的字符串。

size_t strxfrm(char *dest, const char *src, size_t n);//根据当前locale转换一个字符串为strcmp使用的内部格式

C语言自编字符、字符串处理函数

my_string.h

#ifndef _MY_STRING_H_

#define _MY_STRING_H_

//比较

int my_strcmp(const char *,const char *);

//复制

char *my_strcpy(char *,const char *);

//检查字符是否为数字或字母

int my_isAlpha(char );

int my_isNumber(char );

//大写转换为小写。

char *my_convert(char *);

#endif

my_string.c

#include "my_string.h"

//比较

int my_strcmp(const char *cs,const char *ct)

{

register signed char __res;

while (1) {

if ((__res = *cs - *ct++) != 0 || !*cs++)

break;

}

return __res;

}

//复制

char *my_strcpy(char *dest,const char *src)

{

char *tmp=dest;

while((*dest++=*src++) != '\0');

return tmp;

}

//检查字符是否为数字或字母

int my_isAlpha(char c)

{

if((c='a' c='z') || (c='A' c='Z'))

return 1;//返回1为字母

else

return 0;//返回0为其他字符

}

int my_isNumber(char c)

{

if((c='0' c='9'))

return 1;

else

return 0;

}

//大写转换为小写。

char *my_convert(char *src)

{

char *tmp=src;

while(*src!='\0')

{

if(*src ='A' *src='Z')

*src=*src+32;

}

return tmp;

}

别忘了自己测试一下

跪求~ c语言字符串 7个处理函数

1.字符串连接函数:strcat();

原型:char *strcat(char *str1,const char *str2);

2.字符串查询函数:strchr();

原型:char *strchr(const char *str1,const char *str2);

3.字符串比较函数:strcmp();

原型:int strcmp(const char *str1,const char *str2);

4.字符串拷贝函数:strcpy();

原型:char *strcpy(char *str1,const char *str2);

5.求字符串长度的函数:strlen();

原型:unsigned int strlen(const char *str);

6.字符串查询函数:strstr()

原型:char *strstr(const *str1,const char *str2);

好像就这几种比较常用

如果对你有所帮助,请记得采纳最佳答案,谢谢!

C语言字符串处理函数strcmp

strcmp是比较古老的函数了,它就是在检查'\0'为结尾的字符串,你的字符数组位置为5时,没有位置来存储'\0',所以函数strcmp检查时候不会停止,会继续向后面检查(后面的地址没有赋值,都是随机的数,直到遇见'0'),所以不会相等。

C语言字符串处理函数

strcpy(p+strlen(q),r);表示从数组首地址偏移strlen(q),也就是从元素d所在的位置开始复制

这时复制完后数组p的长度为3+5=8(元素d被覆盖)

strcat(p,q);表示从数组p的尾部进行连接,这时数组p的长度为8+3=11

而数组p在定义为char p[20],即请求连续开辟20个char类型存储单元,而每个char占一字节,所以sizeof(p)等于20

还有问题吗


分享文章:定义c语言字符串处理函数,c语言中字符串处理函数
文章起源:http://scjbc.cn/article/phcogg.html

其他资讯