码迷,mamicode.com
首页 > 编程语言 > 详细

C语言(Linux)中常用到的函数

时间:2016-10-01 00:04:45      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

在接触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)中常用到的函数

标签:

原文地址:http://www.cnblogs.com/louishuang2016928/p/5924995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!