《嵌入式系统》文件 I/O 编程课件(未完)


《嵌入式系统》文件 I/O 编程课件(未完)_第1张图片

把底层的硬件接口抽象成一个虚拟的系统,只需要知道接口,利用用户程序去调用即可。

本章节主要部分:目录操作、文件操作



《嵌入式系统》文件 I/O 编程课件(未完)_第2张图片

0标准输入、1标准输出、2标准错误

《嵌入式系统》文件 I/O 编程课件(未完)_第3张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第4张图片


《嵌入式系统》文件 I/O 编程课件(未完)_第5张图片
0777 代表一个八进制数

《嵌入式系统》文件 I/O 编程课件(未完)_第6张图片

#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    char *fileName = "aaa";
    int err;
    err = mkdir(argv[1], 0777);
    char dir[2556];
    struct stat st;
    getcwd(dir, 256);
    printf("--- %s \n", dir);
    stat(argv[1], &st);
    if (S_ISDIR(st.st_mode))
    {
        printf("is dir!\n");
    }
    else if (S_ISREG(st.st_mode))
    {
        printf("is file!\n");
    }
    else
    {
        printf("other! \n");
    }
}

《嵌入式系统》文件 I/O 编程课件(未完)_第7张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第8张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第9张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第10张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第11张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第12张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第13张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第14张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第15张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第16张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第17张图片

2. 第二次课

#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    DIR *d;
    struct dirent *e;
    mkdir(argv[1], 0666);

    d = opendir("/home/");

    while ((e = readdir(d)) != NULL)
    {
        printf("%s\n", e->d_name);
    }
    closedir(d);
}
#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    DIR *d;
    struct dirent *e;
    char name[128];
    struct stat buf;

    printf("Please input the name: ");
    scanf("%s", name);
    stat(name, &buf);
    if (S_ISDIR(buf.st_mode))
    {
        printf("is dir, the files are: \n");
        d = opendir("/home/lighthouse");
        while ((e = readdir(d)) != NULL)
        {
            printf("%s\n", e->d_name);
        }
        closedir(d);
    }
    else if (S_ISREG(buf.st_mode))
    {
        printf("is file! \n");
    }
    else if (S_ISLNK(buf.st_mode))
    {
        printf("is link file!\n");
    }
}
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    int fd; // 文件描述符
    fd = open(argv[1], O_RDWR | O_SYNC);
    if (fd < 0)
        printf("error! \n");
    else
        printf("ok! \n");
    close(fd);
    return 0;
}

《嵌入式系统》文件 I/O 编程课件(未完)_第18张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第19张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第20张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第21张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第22张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第23张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第24张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第25张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第26张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第27张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第28张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第29张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第30张图片

《嵌入式系统》文件 I/O 编程课件(未完)_第31张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第32张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第33张图片
《嵌入式系统》文件 I/O 编程课件(未完)_第34张图片

你可能感兴趣的:(2023春季课程笔记,c++,c语言,嵌入式系统)