c语言字符串函数使用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Strcpy:拷贝一个字符串到另一个字符串,char *strcpy(char *destin,char*source)。
Strcat:字符串拼接函数,cat是catanat的缩写,char *strchr(char *destin,char*source).将source字符串拼接到destin之后,结果返回destin的指针。例:
Strcspn(str,”0123456789”)的返回值为30,因为出现数字前的字符串长度为30。
Intstrspn(char *s,char*accept);strspn()从参数s字符串的开头计算连续的字符,而这些字符完全都是accept所指字符串中的字符,简单的说,strspn()返回的数值为n,则代表字符串s开头连续有n个字符都死属于字符串accept内的字符。
else
printf("error\n");
}
Strcmp:串比较函数,intstrcmp(char *str1,char *str2),根据asc码比较大小,若str1大,则返回大于0的值,相等,为零,小于,则返回小于零的值。对于大写也成立,小写字母要大于相同字母的大写。例:
#include <string.h>
例:*str=”Linux was first developed for 386/486-basedpcs.”;
Strcspn(str,””)的返回值为5,因为只空格前不同的字符是Linux,长度为5。
Strcspn(str,”/-”)的返回值为33,因为计算出现/或-前的字符串长度,即6之前的长度。
#include <stdio.h>
void main()
{
char *buf1="bbB", *buf2="bbb";
intptr;
ptr=strcmp(buf1,buf2);
if(ptr>0)
{
printf("%s大于%s\n",buf1,buf2);
}
else if(ptr==0)
{
printf("%s等于%s\n",buf1,buf2);
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char *destination=(char *)malloc(sizeof(char)*25);
char *blank=" ";
char *c="c++";
char *Borland="Borland";
#include <stdio.h>
#include <string.h>
void main()
{
char string[15];
char *ptr,c='r';
strcpy(string,"thisis a string");
ptr=strchr(string,c);
if(ptr)
printf("the character %c is atposition:%d\n",c,ptr-string);
}
else
{
printf("%s小于%s\n",buf1,buf2);
}
}
Strncmp与strnicmp:两个都是比较字符串的前n个的大小,区别在于strncmp区分大小写,而strnicmp不区分大小写,intstrncmp(char *str1,char *str2,intmaxlen);intstrnicmp(char *str1,char *str2,intmaxlen)。返回值同strcmp。
Strdup(s,str);
Free(s);
Strdup与strcpy的区别:两者都用于字符串复制,区别在于
1.Strdup不是标准的c函数,如果移植到linux会报错。
2.Strcpy复制字符串时要保证复制到的字符串内存要分配。
3.一般情况使用strcpy,因为strdup移植性不好,并且strdup调用与释放空间一般不在一个模块当中,经常会忘了在哪里释放。
strcpy(destination,Borland);
strcat(destination,blank);
strcat(destination,c);
puts(destination);
}
Strchr:在一个串中查找给定字符的第一个匹配指出,char *strchr(char *str,charstr).返回的是给定字符串的第一个等于给定字符的指针,如果用puts打印返回字符指针,会打印出之后的字符串,例:
Strdup:char*strdup(char *s),将字符串s复制到自动动态分配的内存当中,并返回分配的内存的指针,即strdup函数会自动调用malloc去动态分配内存空间,动Hale Waihona Puke Baidu分配的内存空间如果之后不用则要用free释放掉,否则会造成内存泄露,例如:
Char *s,str[]=”Iam a good man”;
Stricmp:以大小写不敏感方式比较两个串,intstricmp(char *str1,char *str2),其余strcmp区别在于是否区别大小写,与strnicmp区别在于是否只比较前n个字符。
Strerror:通过错误的标号来获得错误信息,char *strerror(interrnum),即strerror仅仅通过错误的值将错误的文本信息显示出来,通常配合errno使用,errno在errno.h中定义,用来返回上一次出错的信息(仅仅只是数字,通过strerror()可以将数字转换为字符串形式显示出来)。
例:*str=”Linux was first developed for 386/486-basedpcs.”;
Strspn(str,”Linux”)的返回值为5,因为str的前5个字符都属于Linux字符串中的字符。
Strspn(str,”-”)的返回值为0。
Strcspn(str,”0123456789”)的返回值为0.
Strspn和strcspn:intstrcspn(char *s,char*reject),strcspn()从参数s字符串的开头计算连续的字符,而这些字符都完全不在参数reject所指的字符串当中,即若strcspn返回的值为n,则代表字符串s开头连续有n个字符都不含字符串reject内的字符。其返回值为前面不相同字符串的长度,strcspn=string+counter+span。
相关文档
最新文档