从UNIX® 环境中的高级编程:
对于
_PC_ASYNC_IO
、_PC_PRIO_IO
、 和_PC_SYNC_IO
,引用的文件不能是目录。
Name of option | Indicates ... |name argument
_POSIX_SYNC_IO |whether synchronized I/O can be used with |_PC_SYNC_IO
the associated file
所以我假设用法是
long return_value = pathconf("/a/path/filename",_PC_SYNC_IO)
。
看起来这是一种获取特定文件“设置”的方法。
这个东西可以设置成文件吗?我该如何设置呢?
什么是同步输入/输出是指文件吗?我的意思是,我不明白如何同步输入/输出可能是文件的设置?难道它不应该是一个编程方面的事情而不仅仅是一个“设置”吗?
答案1
的结果pathconf
可能因文件而异,对于某些参数,可以给出它(_PC_NAME_MAX
、_PC_ASYNC_IO
和其他一些参数),但对于大多数参数,结果是依赖于平台的常量。您检索使用的值pathconf
不是每个文件的设置,它们是系统的属性和文件类型;你无法设置它们。
此上下文中的同步 I/O 是指从文件同步读取和向文件写入,由O_SYNC
相关标志控制,这些标志可以在open
来电。pathconf(..., _PC_SYNC_IO)
会告诉您是否支持这些标志(请注意,O_SYNC
无论如何,无论结果如何,常规文件都应该支持这些标志pathconf
)。