0
点赞
收藏
分享

微信扫一扫

嵌入式学习之linux系统编程---7 目录IO之mkdir函数

彪悍的鼹鼠 2022-03-24 阅读 42
linuxubuntu

1、目录IO与文件IO的区别

目录IO文件IO
opendir—打开目录open—打开文件
mkdir—创建目录-----------
readndir—读目录read—读文件
closedir—关闭目录close—关闭文件

区别:在之前的博客中提到的文件IO和标准IO都是对文件的操作;而目录IO都是对目录的操作。
正如表格中提到的:
(1)针对文件IO,若想创建一个文件,可以在打开文件的时候加入“O_CREAT”参数;但是对于目录IO来说,这种方式是无效的,创建目录需要用“mkdir”函数
(2)read读文件涉及到的是读取文件中的内容,比如说:读取到文件“a.c”中的内容是“helloworld!”;读目录读取到的是该目录下的子文件与子目录等读到的都是在ubuntu界面中使用“ls”命令时可以看到的内容,并不涉及文件的具体内容。
(3)closedir是关闭目录,是围绕目录进行操作的;而文件IO中的close函数是围绕文件进行操作的。

2、mkdir函数的函数原型

#include<sys/stat.h>
#include<sys/types.h>
int mkdir(const char *pathname,mode_t mode);

int mkdir(const char pathname,mode_t mode):代表返回值是int类型的,“const charpathname”是想要创建的这个目录的文件路径及名称,“mode_t mode”代表的是权限。
注释:在用shell命令创建一个目录可以直接在ubuntu界面输入:mkdir+目录名称;但是想在程序上创建一个目录,就要用到目录IO中的mkdir函数。

3、mkdir函数应用实例

c代码如下:

#include<stdio.h>
#include<sys/stat.h>
#include<sys/types.h>

int main(int argc, char* argv[])
{
        //argc:表示的是命令行中参数的个数
        //argv:表示的是命令行中的参数
        int ret;
        if (argc != 2) {
                printf("Usage%s <name file> \n",argv[0]);
                return -1;
        }

        ret = mkdir(argv[1],0666);

        if (ret < 0) {
                printf("mkdir is error\n");
                return -2;
        }
        printf("mkdir is ok\n");

        return 0;

}

在ubuntu界面的测试结果如下:
在这里插入图片描述
最后,回顾一下之前学习过的ubuntu系统中各个文件的颜色含义

颜色代表的含义
蓝色文件夹
红色压缩文件
绿色可执行文件
淡蓝色符号链接
白色文本文件
红色闪烁错误的符号链接
黄色设备文件
灰色其他文件
举报

相关推荐

0 条评论