首页 > 代码库 > C语言(Linux)中常用到的函数
C语言(Linux)中常用到的函数
在接触Linux C之前,我比较少用到的函数,都会记录在这里。(持续更新中……)
在学习malloc()函数原理性实现时,
size_t:是一种数据类型,标准C库中定义的一种类型,近似于unsigned int,在32位系统中为4个字节,在64位中卫8个字节。在C中,它包含在stddef.h中,在C++中包含在cstddef中。sizeof()得到的结果就是size_t型。运用它,利于程序的可移植性。
1 #include <stdio.h> 2 int main(void) 3 { 4 size_t a,b; 5 unsigned int sum; 6 a=0; 7 b=10; 8 sum=a+b; 9 printf("a=%d,sum=%d\n",a,sum);10 return 0;11 }
sbrk(incr):不是系统调用,而是C库函数。用于堆拓展,增加程序可用数据段空间,增加大小由参数incr决定。成功返回一个指向新的内存空间的指针,失败则返回-1。
shell环境中,
int main(int argc, char * argv[])
argc表示参数的个数,包括程序的路径; *argv[]表示指向参数的各个指针所构成的数组。简单一点来理解就是,argc是参数个数,而argv是参数内容。
rindex():其原型为char * rindex(const char *s, char ‘c‘);用于匹配单个字符的,返回的是字符指针,指向最后匹配正确的字符及之后的字符串。例:*s="huang yong hao",则rindex(s,‘a‘)返回的是*p=ao,如果匹配不成功则返回‘\0‘。
此函数的一个应用就是在linux中提取程序的文件名,寻找最后一个‘/‘,则此‘/‘之后就是程序的文件名了。
实现:
1 #include<stdio.h> 2 #include<string.h> 3 char * basename(char *full_name){ //通过完整路径(可以由argv[0]直接得出)提取程序的文件名(Linux下) 4 char *p; 5 p=rindex(full_name,‘\‘); //从full_name中匹配出最后一个‘/‘,然后返回‘/‘之后的内容 6 if(p==‘\0‘) //本身就是文件名了 7 p=fullname; 8 else p++; //得到文件名的起始位置 9 return p;10 }11 12 int main(void)13 {14 char *p;15 p=basename(argv[0]);16 printf("file name is %s\n",p);17 return 0;18 }
C语言(Linux)中常用到的函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。