加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux / Open目录作为文件

发布时间:2020-12-14 01:19:11 所属栏目:Linux 来源:网络整理
导读:我一直在阅读Brian Kernighan和Dennis Ritchie – C编程语言,第8.6章是关于UNIX OS下的目录列表.他们说一切甚至目录都是一个文件.这意味着我应该能够将目录作为文件打开?我已经尝试使用stdio函数,但它没有用.现在,我正在尝试使用UNIX系统功能.当然,我没有使
我一直在阅读Brian Kernighan和Dennis Ritchie – C编程语言,第8.6章是关于UNIX OS下的目录列表.他们说一切甚至目录都是一个文件.这意味着我应该能够将目录作为文件打开?我已经尝试使用stdio函数,但它没有用.现在,我正在尝试使用UNIX系统功能.当然,我没有使用UNIX,我正在使用Ubuntu linux.这是我的代码:

#include <syscall.h>
#include <fcntl.h>

int main(int argn,char* argv[]) {
    int fd;
    if (argn!=1) fd=open(argv[1],O_RDONLY,0);
    else fd=open(".",0);
    if (fd==-1) return -1;

    char buf[1024];
    int n;
    while ((n=read(fd,buf,1024))>0)
        write(1,n);

    close (fd);
    return 0;
}

即使当argn为1(无参数)并且我正在尝试读取当前目录时,这也不会写入任何内容.
有什么想法/解释吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读