编程-求教openat函数的用法

问题描述

求教openat函数的用法

《Unix环境高级编程》第三章、第四章出现了大量的at类函数。像openat、fstatat等。第一个参数要给一个int fd,一直没看懂是什么意思。求指教!
int openat(int dirfd, const char *pathname, int flags, mode_t mode);
这是函数原型。

看格式是要给出一个目录的文件描述符,可是目录的描述符是DIR型的,是个结构体,open函数也不能打开一个目录,实在看不太懂这个函数的用法。
最好能给出能编译通过的程序实例,不胜感激!

解决方案

http://www.yiibai.com/unix_system_calls/openat.html

解决方案二:

  • (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。......
答案就在这里:stretchableImageWithLeftCapWidth:topCapHeight:函数用法

解决方案三:

参考文档:http://linux.die.net/man/2/openat
dirfd就是用open()打开后返回的文件夹的fd。

文档里的解释是:
1、如果你给的pathname是相对路径,那么dirfd就是用来计算这个相对路径的文件夹的fd。
2、如果你给的pathname是相对路径,但是dirfd是一个特殊值AT_FDCWD,那么这个相对路径就是按照当前所在路径计算的。
3、如果pathname是绝对路径,那么dirfd就没作用。

时间: 2025-01-19 09:24:01

编程-求教openat函数的用法的相关文章

【python】多线程编程中join函数的用法

在学习python 多线程编程的时候,一定会使用一个函数join,本章内容通过例子讲述join 在多线程编程中有哪些作用.本文使用两段代码演示其功能代码一 import threading, timedef now() :    return str( time.strftime( '%Y-%m-%d %H:%M:%S' , time.localtime() ) )def func1():    print 'start func1: ' + now() + "\n"    time.

Android编程中软键盘基本用法分析_Android

本文实例讲述了Android编程中软键盘基本用法.分享给大家供大家参考,具体如下: 调用下面代码:(第一次调用显示,再次调用则隐藏,如此反复),this指activity InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); imm.sh

php图像处理函数imagecopyresampled用法详解_php技巧

本文实例讲述了php图像处理函数imagecopyresampled用法.分享给大家供大家参考,具体如下: 语法 复制代码 代码如下: bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h ) 参数 dst_i

PHP数组函数array_multisort()用法实例分析_php技巧

本文实例分析了PHP数组函数array_multisort()用法.分享给大家供大家参考,具体如下: 有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题.我们可以使用array_multisort()这个函数.array_multisort() 函数对多个数组或多维数组进行排序. 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行

PHP函数import_request_variables()用法分析_php技巧

本文实例分析了PHP函数import_request_variables()用法.分享给大家供大家参考,具体如下: import_request_variables 函数可以在 register_global = off 时,把 GET/POST/Cookie 变量导入全局作用域中. 描述 bool import_request_variables ( string types [, string prefix]) 将 GET/POST/Cookie 变量导入到全局作用域中.如果你禁止了 reg

Android编程学习之抽象类AbsListView用法实例分析_Android

本文实例讲述了Android编程学习之抽象类AbsListView用法.分享给大家供大家参考,具体如下: 一.继承关系 public abstract class AbsListView extends AdapterView <T extendsAdapter> java.lang.Object          android.view.View                android.view.ViewGroup                       android.widg

Python中函数的用法实例教程_python

本文以数值计算为例讲述了Python中函数的用法,分享给大家供大家参考借鉴之用.具体如下: 我们都知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦

Android编程学习之抽象类AbsListView用法实例分析

本文实例讲述了Android编程学习之抽象类AbsListView用法.分享给大家供大家参考,具体如下: 一.继承关系 public abstract class AbsListView extends AdapterView <T extendsAdapter> java.lang.Object          android.view.View                android.view.ViewGroup                       android.widg

Android编程中软键盘基本用法分析

本文实例讲述了Android编程中软键盘基本用法.分享给大家供大家参考,具体如下: 调用下面代码:(第一次调用显示,再次调用则隐藏,如此反复),this指activity InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); imm.sh