标准库函数
文章平均质量分 68
corey__chen
Hello World!
展开
-
strrchr函数
函数简介 函数名称: strrchr 函数原型:char *strrchr(const char *str, char c); 所属库: string.h 函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。原创 2014-07-18 15:42:14 · 761 阅读 · 0 评论 -
Linux execlp函数
execlp 从PATH 环境变量中查找文件并执行 定义: int execlp(const char * file,const char * arg,……); 头文件: #include 说明: execlp()会从PATH 环境变量所指的目录中查找符合参数file的文件名, 找到后便执行该文件, 然后将第二个以后的参数当做该文件的argv[0]、a转载 2014-07-22 10:44:57 · 802 阅读 · 0 评论 -
exec函数
(1)exec函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,也可转载 2014-07-22 10:48:08 · 501 阅读 · 0 评论 -
使用tcgetattr函数与tcsetattr函数控制终端
6.4.4 使用tcgetattr函数与tcsetattr函数控制终端 为了便于通过程序来获得和修改终端参数,Linux还提供了tcgetattr函数和tcsetattr函数。tcgetattr用于获取终端的相关参数,而tcsetattr函数用于设置终端参数。这两个函数的具体信息如表6.2所示。 表6.2 tcgetattr函数和tcsetattr函数 头文转载 2014-07-21 12:58:23 · 457 阅读 · 0 评论 -
linux驱动学习之ioctl接口
这里先用例子介绍一下ioctrl接口的使用, 应用层的ioctl函数传入的cmd和arg参数会直接传入驱动层的ioctl接口,ioctl接口的命令有一定规范详细查看ioctl-number.txt文件,这里命令的定义不在规范内,先看下面测试的例子,驱动只实现ioctrl接口并使用ioctl修改和读取内核中的一个整型参数为例,使用两个不同方式读取(值传递和地址传递)。 应用程序测转载 2014-07-21 13:34:47 · 632 阅读 · 0 评论 -
linux__mutex互斥锁___操作
[html] view plaincopy mutex是死等锁,即pthread_mutex_lock(&mutex);这条语句在执行的后,做两步,1,先判断当前是否可以锁,如别的线程在锁住,这里就一直等待直到别的线程解锁为止。1,判断完后,开始锁住,防止别的线程使用。 如果不想在这里死等,可以采用pthread_mutex_trylock(&mutex);然后转载 2014-07-21 13:19:02 · 626 阅读 · 0 评论 -
pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
原型: #include int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr); int pthread_mutex_destroy(pthread_mutex_t *mutex); 在使用互斥锁前,需要定义互斥锁(全局变量),定义转载 2014-07-21 13:12:51 · 1321 阅读 · 0 评论 -
atexit函数
很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit() 结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就 是用atexit()函数来注册程序正常终止时要被调用的函数。 atexit()函数的参数是一个转载 2014-07-21 13:05:00 · 479 阅读 · 0 评论 -
inet_ntoa的一个典型误用
恩,不错,谢谢转载 2014-07-21 12:51:34 · 557 阅读 · 0 评论 -
htonl()函数学习
今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习! htonl就是把本机字节顺序转化为网络字节顺序 h---host 本地主机 to 就是to 了 n ---net 网络的意思 l 是 unsigned long 所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低,低对高”(即一个数的高位字节存放于低地址单元,低位字节存放在转载 2014-07-21 12:15:51 · 793 阅读 · 0 评论 -
C语言system()函数
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include #include #include #include int system(const char * cmdstring) { pid_t pid; int status; if(cmdstring == NULL)转载 2014-07-21 12:47:43 · 618 阅读 · 0 评论 -
gcc的内建函数__builtin_expect
1.问题引出 在内核代码的条件分支中的判断中,经常可以看到如下两条语句: [cpp] view plaincopy /* ...... */ if(unlikely(!something)) /* ...... */ if(likely(something)) /* ...... */ 追述一下可以看到有如下的宏定义: [cpp] view转载 2015-01-17 18:55:42 · 735 阅读 · 0 评论