《C 程序设计语言》 第八章 fsize 读取文件夹内容例子的讨论

本文讨论《C程序设计语言》第八章中的一个例子,涉及在UNIX系统中使用open和read函数读取目录内容。在Centos7上尝试时遇到问题,open能打开目录但read失败。据StackOverflow上的讨论,这是因为文件分为普通文件和特殊文件,目录属于特殊文件,应当使用opendir, readdir和closedir等专用于目录操作的接口。" 126059939,10912945,R语言ggplot2与ggpubr:ggmaplot绘制MA图及头部基因标签配置,"['r语言', '数据挖掘', '数据分析', '基因分析', '可视化']
摘要由CSDN通过智能技术生成

阅读“C程序设计语言”第八章有一个例子,在UNIX系统中自己实现文件夹内容的读取等各种操作。

其中有一个函数readdir 中 利用了open 和read函数来读取文件夹,可是我在Centos7 上总是到失败。

查看stackoverflow上有类似的讨论

http://stackoverflow.com/questions/21405048/linux-open-directory-as-a-file


作者做了这个实验,open是可以打开文件夹但是不能调用读取read,总是返回-1

#include <fcntl.h>
#include <stdio.h>
#include <errno.h>

int main(int argc, char* argv[]) {
   
    int fd = -1;
    if (argc!=1) fd=open(argv[1],O_RDONLY,0);
    else fd=open(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值