热门关键字:  ubuntu  分区  linux系统进程  函数  Fedora

当前位置 :| 主页>Linux教程>编程开发>C++>

Linux 常用C函数说明-内存及字符串操作篇(中文版)

来源: 作者: 时间:2007-12-03 Tag: 点击:

各位Linux爱好者:

  你好!本人有幸在坊间得到一名为“Linux C 函数参考”的文本文件,并在此基础重新排版并制成html文件以方便广大爱好者阅读,我感到无比的荣幸。在此多谢各位的鼎力支持,以及日益完善此文件,希望有朝一日能成为Linux编程爱好者必备的参考文件。在此再次多谢编写“Linux C 函数参考”的朋友。

  声明:本人不拥有文章所有权。本人会对本文件文章内排版出现的错误或遗漏内容以及日后提出的相关请求作出最大限度修改,有问题可e-mail:pennyhot@21cn.com,别炸我的邮箱:-)

PennyHot 
2003.06.06
 


 
bcmp(比较内存内容)
相关函数
 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp
表头文件
 #include<string.h>
定义函数
 int bcmp ( const void *s1,const void * s2,int n);
函数说明
 bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。
返回值
 若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。
附加说明
 建议使用memcmp()取代。
范例
 参考memcmp()。
 


 
bcopy(拷贝内存内容)
相关函数
 memccpy,memcpy,memmove,strcpy,ctrncpy
表头文件
 #include <string.h>
定义函数
 void bcopy ( const void *src,void *dest ,int n);
函数说明
 bcopy()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置。
返回值
 
附加说明
 建议使用memcpy()取代
范例
 #include<string.h>
main()
{
char dest[30]=”string(a)”;
char src[30]=”string\0string”;
int i;
bcopy(src,dest,30);/* src指针放在前*/
printf(bcopy(): “)
for(i=0;i<30;i++)
printf(“%c”,dest[i]);
memcpy(dest src,30); /*dest指针放在钱*/
printf(‘\nmemcpy() : “);
for(i=0;i<30;i++)
printf(“%c”,dest[i]);
执行
 bcopy() : string string
memcpy() :string sring
 


 
bzero(将一段内存内容全清为零)
相关函数
 memset,swab
表头文件
 #include<string.h>
定义函数
 void bzero(void *s,int n);
函数说明
 bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void*)s,0,size_tn);
返回值
 
附加说明
 建议使用memset取代
范例
 参考memset()。
 


 
index(查找字符串中第一个出现的指定字符)
相关函数
 rindex,srechr,strrchr
表头文件
 #include<string.h>
定义函数
 char * index( const char *s, int c);
函数说明
 index()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。
返回值
 如果找到指定的字符则返回该字符所在地址,否则返回0。
范例
 #include<string.h>
main()
{
char *s =”0123456789012345678901234567890”;
char *p;
p =index(s,’5’);
printf(%s\n”,p);
}
执行
 5.68E+25
 


 
memccpy(拷贝内存内容)
相关函数
 bcopy,memcpy,memmove,strcpy,strncpy
表头文件
 #include<string.h>
定义函数
 void * memccpy(void *dest, const void * src, int c,size_t n);
函数说明
 memccpy()用来拷贝src所指的内存内容前n个字节到dest所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c是否出现,若是则返回dest中值为c的下一个字节地址。
返回值
 返回指向dest中值为c的下一个字节指针。返回值为0表示在src所指内存前n个字节中没有值为c的字节。
范例
 #include<string.h>
main()
{
char a[]="string[a]";
char b[]="string(b)";
memccpy(a,b,'B',sizeof(b));
printf("memccpy():%s\n",a);
}
执行
 memccpy():string(b)
 


 
memchr(在某一内存范围中查找一特定字符)
相关函数
 index,rindex,strchr,strpbrk,strrchr,strsep,strspn,strstr
表头文件
 #include<string.h>
定义函数
 void * memchr(const void *s,int c,size_t n);
函数说明
 memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。
返回值
 如果找到指定的字节则返回该字节的指针,否则返回0。
范例
 #include <string.h>
main()
{
char *s="0123456789012345678901234567890";
char *p;
p=memchr(s,'5',10);
printf("%s\n",p);
}
执行
 5.68E+25
 

最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表