VC的几个常用的str函数
头文件 #include <cstring>
strcpy
strcat
strchr //在一个串中查找给定字符的第一个匹配之处
strcmp
stpcpy
strcspn
原型:size_t strcspn(const char *s1,const char *s2); 相关头文件:#include <string.h> 功能:顺序在字符串s1中搜寻与s2中字符的第一个相同字符,返回这个字符在S1中第一次出现的位置。 说明:(返回第一个出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。) 简单地说,若strcspn()返回的数值为n,则代表字符串s1开头连续有n个字符都不含字符串s2内的字符。 举例:
// strcspn.c
#include <stdio.h >
#include <syslib.h>
#include <string.h>
int main(void) {
char *s="Golden Global View";
char *r="new";
int n;
clrscr();
n=strcspn(s,r);
printf("The first char both in s1 and s2 is: %c",s[n]);
getchar();
return 0;
}
输出结果为The first char both in s1 and s2 is:e。
strdup
原型:extern char *strdup(char *s);
头文件:#include <string.h>
用法:char *strdup(char *s);
功能:复制字符串s
说明:strdup()在内部调用了malloc()为变量分配内存,当程序结束后,必须用free()释放相应的内存空间,否则会造成内存泄漏
举例:
// strdup.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *d;
clrscr();
d=strdup(s);
printf("%s",d);
free(d);
getchar();
return 0;
}
stricmp //以大小写不敏感的方式比较两个串
strcmpi //将一个串与另一个比较,不管大小写
strncmp
函数名: strncmp
功 能: 串比较
用 法: int strncmp(char *str1, char *str2, int maxlen);
说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
strncmpi
函数名: strnicmp
功 能: 将一个串中的一部分与另一个串比较, 不管大小写
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
strnicmp
函数名: strnicmp
功 能: 比较字符串str1和str2的前n个字符串字典序的大小,但是不区分字母大小写。
返回值: 当str1<str2时,返回值<0 ; 当str1=str2时,返回值=0; 当str1>str2时,返回值>0。比较是这样进行的,先比较2个字符串的第1个字符字典序的大小,如果能比较出大小,则马上返回了,如果不能区别大小,开始比较第2个,如果这时第1个字符串已经到尽头了,第2个字符串还有字符,这时算第2个字符串大。
strnset
函数名: strnset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
strrchr // 在串中查找指定字符的最后一个出现 char *strrchr (char *str,char c)
strrev //串反转
头文件 #include <cstring>
strcpy
strcat
strchr //在一个串中查找给定字符的第一个匹配之处
strcmp
stpcpy
strcspn
原型:size_t strcspn(const char *s1,const char *s2); 相关头文件:#include <string.h> 功能:顺序在字符串s1中搜寻与s2中字符的第一个相同字符,返回这个字符在S1中第一次出现的位置。 说明:(返回第一个出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。) 简单地说,若strcspn()返回的数值为n,则代表字符串s1开头连续有n个字符都不含字符串s2内的字符。 举例:
// strcspn.c
#include <stdio.h >
#include <syslib.h>
#include <string.h>
int main(void) {
char *s="Golden Global View";
char *r="new";
int n;
clrscr();
n=strcspn(s,r);
printf("The first char both in s1 and s2 is: %c",s[n]);
getchar();
return 0;
}
输出结果为The first char both in s1 and s2 is:e。
strdup
原型:extern char *strdup(char *s);
头文件:#include <string.h>
用法:char *strdup(char *s);
功能:复制字符串s
说明:strdup()在内部调用了malloc()为变量分配内存,当程序结束后,必须用free()释放相应的内存空间,否则会造成内存泄漏
举例:
// strdup.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *d;
clrscr();
d=strdup(s);
printf("%s",d);
free(d);
getchar();
return 0;
}
stricmp //以大小写不敏感的方式比较两个串
strcmpi //将一个串与另一个比较,不管大小写
strncmp
函数名: strncmp
功 能: 串比较
用 法: int strncmp(char *str1, char *str2, int maxlen);
说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
strncmpi
函数名: strnicmp
功 能: 将一个串中的一部分与另一个串比较, 不管大小写
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
strnicmp
函数名: strnicmp
功 能: 比较字符串str1和str2的前n个字符串字典序的大小,但是不区分字母大小写。
返回值: 当str1<str2时,返回值<0 ; 当str1=str2时,返回值=0; 当str1>str2时,返回值>0。比较是这样进行的,先比较2个字符串的第1个字符字典序的大小,如果能比较出大小,则马上返回了,如果不能区别大小,开始比较第2个,如果这时第1个字符串已经到尽头了,第2个字符串还有字符,这时算第2个字符串大。
strnset
函数名: strnset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
strrchr // 在串中查找指定字符的最后一个出现 char *strrchr (char *str,char c)
strrev //串反转