📄 05.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://net.pku.edu.cn/~yhf/linux_c/function/05.html -->
<HTML><HEAD><TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc41></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>bcmp(比较内存内容) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>int bcmp ( const void *s1,const void *
s2,int n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>若参数s1 和s2 所指的内存内容都完全相同则返回0
值,否则返回非零值。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>建议使用memcmp()取代。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>参考memcmp()。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc42></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>bcopy(拷贝内存内容) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>memccpy,memcpy,memmove,strcpy,ctrncpy<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>#include
<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>void bcopy ( const void *src,void
*dest ,int n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>bcopy()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>建议使用memcpy()取代<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR>main()<BR>{<BR>char
dest[30]=”string(a)”;<BR>char src[30]=”string\0string”;<BR>int
i;<BR>bcopy(src,dest,30);/* src指针放在前*/<BR>printf(bcopy():
“)<BR>for(i=0;i<30;i++)<BR>printf(“%c”,dest[i]);<BR>memcpy(dest
src,30); /*dest指针放在钱*/<BR>printf(‘\nmemcpy() :
“);<BR>for(i=0;i<30;i++)<BR>printf(“%c”,dest[i]);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>bcopy() : string string<BR>memcpy()
:string sring<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc43></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>bzero(将一段内存内容全清为零) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>memset,swab<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>void bzero(void *s,int
n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void*)s,0,size_tn);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>建议使用memset取代<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>参考memset()。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc44></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>index(查找字符串中第一个出现的指定字符)
</FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>rindex,srechr,strrchr<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>char * index( const char *s, int
c);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>index()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>如果找到指定的字符则返回该字符所在地址,否则返回0。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR>main()<BR>{<BR>char *s
=”0123456789012345678901234567890”;<BR>char *p;<BR>p
=index(s,’5’);<BR>printf(%s\n”,p);<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>5.68E+25<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc45></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>memccpy(拷贝内存内容) </FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>bcopy,memcpy,memmove,strcpy,strncpy<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>void * memccpy(void *dest, const void
* src, int c,size_t n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>memccpy()用来拷贝src所指的内存内容前n个字节到dest所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c是否出现,若是则返回dest中值为c的下一个字节地址。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>返回指向dest中值为c的下一个字节指针。返回值为0表示在src所指内存前n个字节中没有值为c的字节。<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR>main()<BR>{<BR>char
a[]="string[a]";<BR>char
b[]="string(b)";<BR>memccpy(a,b,'B',sizeof(b));<BR>printf("memccpy():%s\n",a);<BR>}<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>memccpy():string(b)<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><BR><FONT face=宋体 size=2><A
name=linuxc46></A></FONT></DIV></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2><BR>memchr(在某一内存范围中查找一特定字符)
</FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>index,rindex,strchr,strpbrk,strrchr,strsep,strspn,strstr<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>#include<string.h><BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体 size=2>void * memchr(const void *s,int
c,size_t n);<BR></FONT></TD></TR>
<TR>
<TD vAlign=top width=80>
<DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>
<TD vAlign=top><FONT face=宋体
size=2>memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。<BR></FONT></TD></TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -