字符串处理函数介绍
来源:互联网 发布:c语言项目开发实录 编辑:程序博客网 时间:2024/06/06 10:46
字符串处理函数介绍
bcmp
原型:extern int bcmp(const void *s1, const void *s2, int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字节是否相等
说明:如果 s1=s2 或 n=0 则返回零,否则返回非零值。bcmp 不检查 NULL。
举例:
// bcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Golden Global View";
char *s2="Golden global view";;
clrscr(); // clear screen
if(!bcmp(s1,s2,7))
printf("s1 equal to s2 in first 7 bytes");
else
printf("s1 not equal to s2 in first 7 bytes");
getchar();
clrscr();
if(!bcmp(s1,s2,12))
printf("s1 equal to s2 in first 12 bytes");
else
printf("s1 not equal to s2 in first 12 bytes");
getchar();
return 0;
}
相关函数:bcopy, bzero
bcopy
原型:extern void bcopy(const void *src, void *dest, int n);
用法:#include <string.h>
功能:将字符串 src 的前 n 个字节复制到 dest中
说明:bcopy不检查字符串中的空字节 NULL,函数没有返回值。
举例:
// bcopy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr(); // clear screen
bcopy(s,d,6);
printf("s: %s\n",s);
printf("d: %s\n",d);
getchar();
clrscr();
s[13]=0;
bcopy(s+7,d,11); // bcopy ignore null in string
printf("%s\n",s+7);
for(i=0;i<11;i++)
putchar(d[i]);
getchar();
return 0;
}
相关函数:bcmp,bzero
bzero
原型:extern void bzero(void *s, int n);
用法:#include <string.h>
功能:置字节字符串 s 的前 n 个字节为零。
说明:bzero 无返回值。
举例:
// bzero.c
#include <syslib.h>
#include <string.h>
main()
{
struct
{
int a;
char s[5];
float f;
} tt;
char s[20];
bzero(&tt,sizeof(tt)); // struct initialization to zero
bzero(s,20);
clrscr();
printf("Initail Success");
getchar();
return 0;
}
相关函数:bcmp,bcopy
memccpy
原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制不多于 count 个字节到 dest 所指内存区域,如果遇到字符
ch 则停止复制。
说明:返回指向字符 ch 后的第一个字符的指针,如果 src前 n 个字节中不存在 ch则返回
NULL。ch被复制。
举例:
// memccpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20],*p;
clrscr();
p=memccpy(d,s,'x',strlen(s));
if(p)
{
*p='\0'; // MUST Do This
printf("Char found: %s.\n",d);
}
else
printf("Char not found.\n");
getchar();
return 0;
}
相关函数:memcpy,strcpy
memchr
原型:extern void *memchr(void *buf, char ch, unsigned count);
用法:#include <string.h>
功能:从buf所指内存区域的前 count 个字节查找字符 ch。
说明:当第一次遇到字符 ch 时停止查找。如果成功,返回指向字符 ch 的指针;否则返回
NULL。
举例:
// memchr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Hello, Programmers!";
char *p;
clrscr();
p=memchr(s,'P',strlen(s));
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:memccpy,memmove,strcpy
memcmp
原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域 buf1 和buf2的前 count 个字节。
说明:
当buf1<buf2 时,返回值<0
当buf1=buf2 时,返回值=0
当buf1>buf2 时,返回值>0
举例:
// memcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:memicmp,strcmp memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域不能重叠,函数返回指向 dest 的指针。
举例:
// memcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
memcpy(d,s,strlen(s));
d[strlen(s)]=0;
printf("%s",d);
getchar();
return 0;
}
相关函数:memccpy,memmove,strcpy
memicmp
原型:extern int memicmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域 buf1 和buf2的前 count 个字节但不区分字母的大小写。
说明:memicmp 同 memcmp 的唯一区别是 memicmp 不区分大小写字母。
当buf1<buf2 时,返回值<0
当buf1=buf2 时,返回值=0
当buf1>buf2 时,返回值>0
举例:
// memicmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memicmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:memcmp,stricmp memmove
原型:extern void *memmove(void *dest, const void *src, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域可以重叠,但复制后 src 内容会被更改。函数返回指向 dest
的指针。
举例:
// memmove.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memmove(s,s+7,strlen(s)-7);
s[strlen(s)-7]=0;
printf("%s",s);
getchar();
return 0;
}
相关函数:memccpy,memcpy,strcpy
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#include <string.h>
功能:把buffer所指内存区域的前 count 个字节设置成字符 c。
说明:返回指向 buffer 的指针。
举例:
// memset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,setmem,strset
movmem
原型:extern void movmem(void *src, void *dest, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域可以重叠,但复制后 src 内容会被更改。函数返回指向 dest
的指针。
举例:
// movmem.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
movmem(s,s+7,strlen(s)-7);
s[strlen(s)-7]=0;
printf("%s",s);
getchar();
return 0;
}
相关函数:memmove
setmem
原型:extern void setmem(void *buf, unsigned int count, char ch);
用法:#include <string.h>
功能:把buf所指内存区域前 count个字节设置成字符 ch。
说明:返回指向 buf 的指针。
举例:
// setmem.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
setmem(s,6,'G');
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,memset,strset
stpcpy
原型:extern char *stpcpy(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串复制到 dest 所指的数组中。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest结尾处字符(NULL)的指针。
举例:
// stpcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
stpcpy(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:strcpy
strcat
原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指字符串添加到 dest 结尾处(覆盖 dest 结尾处的'\0')并添加'\0'。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strcat.c
#include <syslib.h>
#include <string.h>
main()
{
char d[20]="Golden Global";
char *s=" View";
clrscr();
strcat(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:strncat
strchr
原型:extern char *strchr(char *s,char c);
用法:#include <string.h>
功能:查找字符串 s 中首次出现字符 c 的位置
说明:返回首次出现 c 的位置的指针,如果 s 中不存在 c则返回 NULL。
举例:
// strchr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *p;
clrscr();
strchr(s,'V');
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:memchr
strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串 s1和 s2。
说明:
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strncmp stricmp,strcmpi
原型:extern int stricmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串 s1和 s2,但不区分字母的大小写。
说明:strcmpi 是到 stricmp 的宏定义,实际未提供此函数。
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// stricmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=stricmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,strcmp,stricmp strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串复制到 dest 所指的数组中。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
strcpy(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:memccpy,memcpy,stpcpy,strdup
strcspn
原型:extern int strcspn(char *s1,char *s2);
用法:#include <string.h>
功能:在字符串 s1 中搜寻 s2 中所出现的字符。
说明:返回第一个出现的字符在 s1 中的下标值,亦即在 s1 中出现而 s2 中没有出现的子
串的长度。
举例:
// strcspn.c
#include <syslib.h>
#include <string.h>
main()
{
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;
}
相关函数:strpbrk
strdup
原型:extern char *strdup(char *s);
用法:#include <string.h>
功能:复制字符串 s
说明:返回指向被复制的字符串的指针,所需空间由 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);
getchar();
return 0;
}
相关函数:memccpy,memcpy,strcpy
strlen
原型:extern int strlen(char *s);
用法:#include <string.h>
功能:计算字符串 s 的长度
说明:返回 s 的长度,不包括结束符 NULL。
举例:
// strlen.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
printf("%s has %d chars",s,strlen(s));
getchar();
return 0;
}
相关函数:无
strlwr
原型:extern char *strlwr(char *s);
用法:#include <string.h>
功能:将字符串 s 转换为小写形式
说明:只转换 s 中出现的大写字母,不改变其它字符。返回指向 s 的指针。
举例:
// strlwr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Copywrite 1999-2000 GGV Technologies";
clrscr();
printf("%s",strlwr(s));
getchar();
return 0;
}
相关函数:strupr
strncat
原型:extern char *strncat(char *dest,char *src,int n);
用法:#include <string.h>
功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strncat.c
#include <syslib.h>
#include <string.h>
main()
{
char d[20]="Golden Global";
char *s=" View WinIDE Library";
clrscr();
strncat(d,s,5);
printf("%s",d);
getchar();
return 0;
}
相关函数:strcat
strncmp
原型:extern int strcmp(char *s1,char * s2,int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字符。
说明:
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strncmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strncmp(s1,s2,6);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
clrscr();
r=strncmp(s1,s2,10);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strnicmp strnicmp,strncmpi
原型:extern int strnicmp(char *s1,char * s2,int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字符但不区分大小写。
说明:strncmpi 是到 strnicmp 的宏定义
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strnicmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strnicmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strncmp
strncpy
原型:extern char *strncpy(char *dest, char *src, int n);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串的前 n个字节复制到 dest 所指的数组中。
说明:
如果 src 的前 n个字节不含 NULL 字符,则结果不会以 NULL 字符结束。
如果 src 的长度小于 n 个字节,则以 NULL 填充 dest直到复制完 n 个字节。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向 dest的指针。
举例:
// strncpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *d="Hello, GGV Programmers";
char *p=strdup(s);
clrscr();
textmode(0x00); // enable 6 lines mode
strncpy(d,s,strlen(s));
printf("%s\n",d);
strncpy(p,s,strlen(d));
printf("%s",p);
getchar();
return 0;
}
相关函数:memccpy,memcpy,stpcpy,strcpy
strpbrk
原型:extern char *strpbrk(char *s1, char *s2);
用法:#include <string.h>
功能:在字符串 s1 中寻找字符串 s2 中任何一个字符相匹配的第一个字符的位置,空字符
NULL 不包括在内。
说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。
举例:
// strpbrk.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Welcome To Beijing";
char *s2="BIT";
char *p;
clrscr();
p=strpbrk(s1,s2);
if(p)
printf("%s\n",p);
else
printf("Not Found!\n");
p=strpbrk(s1, "Da");
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:strcspn,strtok strrev
原型:extern char *strrev(char *s);
用法:#include <string.h>
功能:把字符串 s 的所有字符的顺序颠倒过来(不包括空字符 NULL)。
说明:返回指向颠倒顺序后的字符串指针。
举例:
// strrev.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Welcome To Beijing";
clrscr();
textmode(0x00); // 6 lines per screen
printf("%s\n%s",s,strrev(strdup(s)));
getchar();
return 0;
}
相关函数:无
strset
原型:extern char *strset(char *s, char c);
用法:#include <string.h>
功能:把字符串 s 中的所有字符都设置成字符 c。
说明:返回指向 s 的指针。
举例:
// strset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
strset(s,'G');
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,memset,setmem
strstr
原型:extern char *strstr(char *haystack, char *needle);
用法:#include <string.h>
功能:从字符串 haystack 中寻找needle 第一次出现的位置(不比较结束符 NULL)。
说明:返回指向第一次出现 needle 位置的指针,如果没找到则返回 NULL。
举例:
// strstr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *l="lob";
char *p;
clrscr();
p=strstr(s,l);
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:strchr,strpbrk,strtok
strtok
原型:extern char *strtok(char *s, char *delim);
用法:#include <string.h>
功能:分解字符串为一组标记串。s 为要分解的字符串,delim为分隔符字符串。
说明:首次调用时,s 必须指向要分解的字符串,随后调用要把 s 设成 NULL。
strtok 在 s 中查找包含在 delim中的字符并用 NULL('\0')来替换,直到找遍整个字符
串。
返回指向下一个标记串。当没有标记串时则返回空字符 NULL。
举例:
// strtok.c
#include <syslib.h>
#include <string.h>
#include <stdio.h>
main()
{
char *s="Golden Global View";
char *d=" ";
char *p;
clrscr();
p=strtok(s,d);
while(p)
{
printf("%s\n",s);
strtok(NULL,d);
}
getchar();
return 0;
}
相关函数:strcspn,strpbrk
strupr
原型:extern char *strupr(char *s);
用法:#include <string.h>
功能:将字符串 s 转换为大写形式
说明:只转换 s 中出现的小写字母,不改变其它字符。返回指向 s 的指针。
举例:
// strupr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Copywrite 1999-2000 GGV Technologies";
clrscr();
printf("%s",strupr(s));
getchar();
return 0;
}
相关函数:strlwr
bcmp
原型:extern int bcmp(const void *s1, const void *s2, int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字节是否相等
说明:如果 s1=s2 或 n=0 则返回零,否则返回非零值。bcmp 不检查 NULL。
举例:
// bcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Golden Global View";
char *s2="Golden global view";;
clrscr(); // clear screen
if(!bcmp(s1,s2,7))
printf("s1 equal to s2 in first 7 bytes");
else
printf("s1 not equal to s2 in first 7 bytes");
getchar();
clrscr();
if(!bcmp(s1,s2,12))
printf("s1 equal to s2 in first 12 bytes");
else
printf("s1 not equal to s2 in first 12 bytes");
getchar();
return 0;
}
相关函数:bcopy, bzero
bcopy
原型:extern void bcopy(const void *src, void *dest, int n);
用法:#include <string.h>
功能:将字符串 src 的前 n 个字节复制到 dest中
说明:bcopy不检查字符串中的空字节 NULL,函数没有返回值。
举例:
// bcopy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr(); // clear screen
bcopy(s,d,6);
printf("s: %s\n",s);
printf("d: %s\n",d);
getchar();
clrscr();
s[13]=0;
bcopy(s+7,d,11); // bcopy ignore null in string
printf("%s\n",s+7);
for(i=0;i<11;i++)
putchar(d[i]);
getchar();
return 0;
}
相关函数:bcmp,bzero
bzero
原型:extern void bzero(void *s, int n);
用法:#include <string.h>
功能:置字节字符串 s 的前 n 个字节为零。
说明:bzero 无返回值。
举例:
// bzero.c
#include <syslib.h>
#include <string.h>
main()
{
struct
{
int a;
char s[5];
float f;
} tt;
char s[20];
bzero(&tt,sizeof(tt)); // struct initialization to zero
bzero(s,20);
clrscr();
printf("Initail Success");
getchar();
return 0;
}
相关函数:bcmp,bcopy
memccpy
原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制不多于 count 个字节到 dest 所指内存区域,如果遇到字符
ch 则停止复制。
说明:返回指向字符 ch 后的第一个字符的指针,如果 src前 n 个字节中不存在 ch则返回
NULL。ch被复制。
举例:
// memccpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20],*p;
clrscr();
p=memccpy(d,s,'x',strlen(s));
if(p)
{
*p='\0'; // MUST Do This
printf("Char found: %s.\n",d);
}
else
printf("Char not found.\n");
getchar();
return 0;
}
相关函数:memcpy,strcpy
memchr
原型:extern void *memchr(void *buf, char ch, unsigned count);
用法:#include <string.h>
功能:从buf所指内存区域的前 count 个字节查找字符 ch。
说明:当第一次遇到字符 ch 时停止查找。如果成功,返回指向字符 ch 的指针;否则返回
NULL。
举例:
// memchr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Hello, Programmers!";
char *p;
clrscr();
p=memchr(s,'P',strlen(s));
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:memccpy,memmove,strcpy
memcmp
原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域 buf1 和buf2的前 count 个字节。
说明:
当buf1<buf2 时,返回值<0
当buf1=buf2 时,返回值=0
当buf1>buf2 时,返回值>0
举例:
// memcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:memicmp,strcmp memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域不能重叠,函数返回指向 dest 的指针。
举例:
// memcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
memcpy(d,s,strlen(s));
d[strlen(s)]=0;
printf("%s",d);
getchar();
return 0;
}
相关函数:memccpy,memmove,strcpy
memicmp
原型:extern int memicmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域 buf1 和buf2的前 count 个字节但不区分字母的大小写。
说明:memicmp 同 memcmp 的唯一区别是 memicmp 不区分大小写字母。
当buf1<buf2 时,返回值<0
当buf1=buf2 时,返回值=0
当buf1>buf2 时,返回值>0
举例:
// memicmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memicmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:memcmp,stricmp memmove
原型:extern void *memmove(void *dest, const void *src, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域可以重叠,但复制后 src 内容会被更改。函数返回指向 dest
的指针。
举例:
// memmove.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memmove(s,s+7,strlen(s)-7);
s[strlen(s)-7]=0;
printf("%s",s);
getchar();
return 0;
}
相关函数:memccpy,memcpy,strcpy
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#include <string.h>
功能:把buffer所指内存区域的前 count 个字节设置成字符 c。
说明:返回指向 buffer 的指针。
举例:
// memset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,setmem,strset
movmem
原型:extern void movmem(void *src, void *dest, unsigned int count);
用法:#include <string.h>
功能:由 src 所指内存区域复制 count 个字节到dest 所指内存区域。
说明:src和 dest 所指内存区域可以重叠,但复制后 src 内容会被更改。函数返回指向 dest
的指针。
举例:
// movmem.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
movmem(s,s+7,strlen(s)-7);
s[strlen(s)-7]=0;
printf("%s",s);
getchar();
return 0;
}
相关函数:memmove
setmem
原型:extern void setmem(void *buf, unsigned int count, char ch);
用法:#include <string.h>
功能:把buf所指内存区域前 count个字节设置成字符 ch。
说明:返回指向 buf 的指针。
举例:
// setmem.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
setmem(s,6,'G');
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,memset,strset
stpcpy
原型:extern char *stpcpy(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串复制到 dest 所指的数组中。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest结尾处字符(NULL)的指针。
举例:
// stpcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
stpcpy(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:strcpy
strcat
原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指字符串添加到 dest 结尾处(覆盖 dest 结尾处的'\0')并添加'\0'。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strcat.c
#include <syslib.h>
#include <string.h>
main()
{
char d[20]="Golden Global";
char *s=" View";
clrscr();
strcat(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:strncat
strchr
原型:extern char *strchr(char *s,char c);
用法:#include <string.h>
功能:查找字符串 s 中首次出现字符 c 的位置
说明:返回首次出现 c 的位置的指针,如果 s 中不存在 c则返回 NULL。
举例:
// strchr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *p;
clrscr();
strchr(s,'V');
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:memchr
strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串 s1和 s2。
说明:
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strncmp stricmp,strcmpi
原型:extern int stricmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串 s1和 s2,但不区分字母的大小写。
说明:strcmpi 是到 stricmp 的宏定义,实际未提供此函数。
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// stricmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=stricmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,strcmp,stricmp strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串复制到 dest 所指的数组中。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
strcpy(d,s);
printf("%s",d);
getchar();
return 0;
}
相关函数:memccpy,memcpy,stpcpy,strdup
strcspn
原型:extern int strcspn(char *s1,char *s2);
用法:#include <string.h>
功能:在字符串 s1 中搜寻 s2 中所出现的字符。
说明:返回第一个出现的字符在 s1 中的下标值,亦即在 s1 中出现而 s2 中没有出现的子
串的长度。
举例:
// strcspn.c
#include <syslib.h>
#include <string.h>
main()
{
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;
}
相关函数:strpbrk
strdup
原型:extern char *strdup(char *s);
用法:#include <string.h>
功能:复制字符串 s
说明:返回指向被复制的字符串的指针,所需空间由 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);
getchar();
return 0;
}
相关函数:memccpy,memcpy,strcpy
strlen
原型:extern int strlen(char *s);
用法:#include <string.h>
功能:计算字符串 s 的长度
说明:返回 s 的长度,不包括结束符 NULL。
举例:
// strlen.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
printf("%s has %d chars",s,strlen(s));
getchar();
return 0;
}
相关函数:无
strlwr
原型:extern char *strlwr(char *s);
用法:#include <string.h>
功能:将字符串 s 转换为小写形式
说明:只转换 s 中出现的大写字母,不改变其它字符。返回指向 s 的指针。
举例:
// strlwr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Copywrite 1999-2000 GGV Technologies";
clrscr();
printf("%s",strlwr(s));
getchar();
return 0;
}
相关函数:strupr
strncat
原型:extern char *strncat(char *dest,char *src,int n);
用法:#include <string.h>
功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明: src和 dest 所指内存区域不可以重叠且 dest 必须有足够的空间来容纳 src 的字符串。
返回指向 dest的指针。
举例:
// strncat.c
#include <syslib.h>
#include <string.h>
main()
{
char d[20]="Golden Global";
char *s=" View WinIDE Library";
clrscr();
strncat(d,s,5);
printf("%s",d);
getchar();
return 0;
}
相关函数:strcat
strncmp
原型:extern int strcmp(char *s1,char * s2,int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字符。
说明:
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strncmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strncmp(s1,s2,6);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
clrscr();
r=strncmp(s1,s2,10);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strnicmp strnicmp,strncmpi
原型:extern int strnicmp(char *s1,char * s2,int n);
用法:#include <string.h>
功能:比较字符串 s1和 s2 的前n个字符但不区分大小写。
说明:strncmpi 是到 strnicmp 的宏定义
当 s1<s2 时,返回值<0
当 s1=s2 时,返回值=0
当 s1>s2 时,返回值>0
举例:
// strnicmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strnicmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strncmp
strncpy
原型:extern char *strncpy(char *dest, char *src, int n);
用法:#include <string.h>
功能:把 src 所指由 NULL 结束的字符串的前 n个字节复制到 dest 所指的数组中。
说明:
如果 src 的前 n个字节不含 NULL 字符,则结果不会以 NULL 字符结束。
如果 src 的长度小于 n 个字节,则以 NULL 填充 dest直到复制完 n 个字节。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向 dest的指针。
举例:
// strncpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *d="Hello, GGV Programmers";
char *p=strdup(s);
clrscr();
textmode(0x00); // enable 6 lines mode
strncpy(d,s,strlen(s));
printf("%s\n",d);
strncpy(p,s,strlen(d));
printf("%s",p);
getchar();
return 0;
}
相关函数:memccpy,memcpy,stpcpy,strcpy
strpbrk
原型:extern char *strpbrk(char *s1, char *s2);
用法:#include <string.h>
功能:在字符串 s1 中寻找字符串 s2 中任何一个字符相匹配的第一个字符的位置,空字符
NULL 不包括在内。
说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。
举例:
// strpbrk.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Welcome To Beijing";
char *s2="BIT";
char *p;
clrscr();
p=strpbrk(s1,s2);
if(p)
printf("%s\n",p);
else
printf("Not Found!\n");
p=strpbrk(s1, "Da");
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:strcspn,strtok strrev
原型:extern char *strrev(char *s);
用法:#include <string.h>
功能:把字符串 s 的所有字符的顺序颠倒过来(不包括空字符 NULL)。
说明:返回指向颠倒顺序后的字符串指针。
举例:
// strrev.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Welcome To Beijing";
clrscr();
textmode(0x00); // 6 lines per screen
printf("%s\n%s",s,strrev(strdup(s)));
getchar();
return 0;
}
相关函数:无
strset
原型:extern char *strset(char *s, char c);
用法:#include <string.h>
功能:把字符串 s 中的所有字符都设置成字符 c。
说明:返回指向 s 的指针。
举例:
// strset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
strset(s,'G');
printf("%s",s);
getchar();
return 0;
}
相关函数:bzero,memset,setmem
strstr
原型:extern char *strstr(char *haystack, char *needle);
用法:#include <string.h>
功能:从字符串 haystack 中寻找needle 第一次出现的位置(不比较结束符 NULL)。
说明:返回指向第一次出现 needle 位置的指针,如果没找到则返回 NULL。
举例:
// strstr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char *l="lob";
char *p;
clrscr();
p=strstr(s,l);
if(p)
printf("%s",p);
else
printf("Not Found!");
getchar();
return 0;
}
相关函数:strchr,strpbrk,strtok
strtok
原型:extern char *strtok(char *s, char *delim);
用法:#include <string.h>
功能:分解字符串为一组标记串。s 为要分解的字符串,delim为分隔符字符串。
说明:首次调用时,s 必须指向要分解的字符串,随后调用要把 s 设成 NULL。
strtok 在 s 中查找包含在 delim中的字符并用 NULL('\0')来替换,直到找遍整个字符
串。
返回指向下一个标记串。当没有标记串时则返回空字符 NULL。
举例:
// strtok.c
#include <syslib.h>
#include <string.h>
#include <stdio.h>
main()
{
char *s="Golden Global View";
char *d=" ";
char *p;
clrscr();
p=strtok(s,d);
while(p)
{
printf("%s\n",s);
strtok(NULL,d);
}
getchar();
return 0;
}
相关函数:strcspn,strpbrk
strupr
原型:extern char *strupr(char *s);
用法:#include <string.h>
功能:将字符串 s 转换为大写形式
说明:只转换 s 中出现的小写字母,不改变其它字符。返回指向 s 的指针。
举例:
// strupr.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Copywrite 1999-2000 GGV Technologies";
clrscr();
printf("%s",strupr(s));
getchar();
return 0;
}
相关函数:strlwr
0 0
- 字符串处理函数介绍
- Mysql字符串处理函数详细介绍、总结
- 宽字符和普通字符串处理函数详细介绍
- Discuz!开发之字符串处理函数dhtmlspecialchars介绍
- VBScript字符串函数介绍
- VBScript字符串函数介绍
- MYSQL字符串函数介绍
- oracle字符串函数介绍
- PHP字符串处理函数
- 字符串处理函数
- javascript字符串处理函数
- 字符串处理函数
- c++(字符串处理函数)
- javascript字符串处理函数
- sql字符串处理函数
- JavaScript 处理字符串函数
- 两个字符串处理函数
- Javascript字符串处理函数
- 《c程序设计语言》-2.6~2.8
- 织梦DedeCMS优化:列表页文章缩略图添加alt属性
- C#打开tif文件时内存溢出(System.OutOfMemoryException)解决办法
- android权限大全
- declare-styleable的使用
- 字符串处理函数介绍
- WEBSERVERS C++(HTTP)实现
- 为什么我们喜欢用 sigmoid 这类 S 型非线性变换?
- 常用正则表达式
- 防止装箱落实到底,只做一半也是失败
- 水纹效果
- QT如何在QTableWidge显示图片
- Reorder List
- Yahoo!网站性能最佳体验的34条黄金守则——内容