Переглянути джерело

delete needless readme.md

luo jiao 7 роки тому
батько
коміт
5142deed74
8 змінених файлів з 0 додано та 543 видалено
  1. 0 52
      mkdir/README.md
  2. 0 54
      opendir/README.md
  3. 0 62
      openfile/README.md
  4. 0 64
      readdir/README.md
  5. 0 145
      readwrite/README.md
  6. 0 50
      rename/README.md
  7. 0 34
      stat/README.md
  8. 0 82
      tell_seek_dir/README.md

+ 0 - 52
mkdir/README.md

@@ -1,52 +0,0 @@
-# 创建目录 #
-
-## 介绍 ##
-
-这个例程展示了如何创建目录。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:创建目录
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 mkdir() 函数
- * int mkdir(const char *path, mode_t mode);
- * mkdir()函数用来创建一个目录,参数path 为目录名,
- * 参数mode 在当前版本未启用,输入0x777 即可。
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void mkdir_sample(void)
-{
-    int ret;
-
-    /* 创建目录*/
-    ret = mkdir("/dir_test", 0x777);
-    if (ret < 0)
-    {
-        /* 创建目录失败*/
-        rt_kprintf("dir error!\n");
-    }
-    else
-    {
-        /* 创建目录成功*/
-        rt_kprintf("mkdir ok!\n");
-    }
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(mkdir_sample, mkdir sample);
-```
-
-## 运行结果 ##
-
-```
-msh />mkdir_sample
-mkdir ok!
-msh />ls
-Directory /:
-dir_test            <DIR>
-```
-

+ 0 - 54
opendir/README.md

@@ -1,54 +0,0 @@
-# 打开目录 #
-
-## 介绍 ##
-
-这个例程展示了如何打开目录。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:打开目录
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 opendir() 函数
- * DIR* opendir(const char* name);
- * opendir()函数用来打开一个目录,参数name 为目录路径名。
- * 若读取目录成功,返回该目录结构,若读取目录失败,返回RT_NULL。
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void opendir_sample(void)
-{
-    DIR *dirp;
-    /* 打开/dir_test 目录*/
-    dirp = opendir("/dir_test");
-    if (dirp == RT_NULL)
-    {
-        rt_kprintf("open directory error!\n");
-    }
-    else
-    {
-        rt_kprintf("open directory OK!\n");
-        /* 在这儿进行读取目录相关操作*/
-        /* ...... */
-
-        /* 关闭目录 */
-        closedir(dirp);
-    }
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(opendir_sample, open dir sample);
-```
-
-## 运行结果 ##
-
-```
-msh />ls
-Directory /:
-dir_test            <DIR>
-msh />opendir_sample
-open directory OK!
-```
-

+ 0 - 62
openfile/README.md

@@ -1,62 +0,0 @@
-# 打开文件 #
-
-## 介绍 ##
-
-这个例程展示了如何打开、关闭文件,并进行简单的读写操作。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:打开文件
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 open() close() 函数
- * int open(const char *pathname, int oflag, int mode); 打开或创建一个文件
- * int close(int fd);关闭文件
- *
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void openfile_sample(void *parameter)
-{
-    int fd, size;
-    char s[] = "RT-Thread Programmer!\n", buffer[80];
-
-    /* 打开/text.txt 作写入,如果该文件不存在则建立该文件*/
-    fd = open("/text.txt", O_WRONLY | O_CREAT);
-    if (fd >= 0)
-    {
-        write(fd, s, sizeof(s));
-        close(fd);
-    }
-
-    /* 打开/text.txt 准备作读取动作*/
-    fd = open("/text.txt", O_RDONLY);
-    if (fd >= 0)
-    {
-        size = read(fd, buffer, sizeof(buffer));
-        close(fd);
-    }
-
-    rt_kprintf("%s", buffer);
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(openfile_sample, open file sample);
-```
-
-## 运行结果 ##
-
-```
-msh />openfile_sample
-RT-Thread Programmer!
-msh />ls
-Directory /:
-dir_test            <DIR>
-text.txt            23
-msh />cat text.txt
-RT-Thread Programmer!
-```
-
-可以看到创建了 text.txt 文件,并在文件中写入了 "RT-Thread Programmer!\n" 字符串。

+ 0 - 64
readdir/README.md

@@ -1,64 +0,0 @@
-# 读取目录 #
-
-## 介绍 ##
-
-这个例程展示了如何读取目录。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:读取目录
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 readdir() 函数
- * struct dirent* readdir(DIR *d);
- * readdir()函数用来读取目录,参数d 为目录路径名。
- * 返回值为读到的目录项结构,如果返回值为RT_NULL,则表示已经读到目录尾;
- * 此外,每读取一次目录,目录流的指针位置将自动往后递推1 个位置。
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void readdir_sample(void)
-{
-    DIR *dirp;
-    struct dirent *d;
-
-    /* 打开/dir_test 目录*/
-    dirp = opendir("/dir_test");
-    if (dirp == RT_NULL)
-    {
-        rt_kprintf("open directory error!\n");
-    }
-    else
-    {
-        /* 读取目录*/
-        while ((d = readdir(dirp)) != RT_NULL)
-        {
-            rt_kprintf("found %s\n", d->d_name);
-        }
-
-        /* 关闭目录 */
-        closedir(dirp);
-    }
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(readdir_sample, readdir sample);
-```
-
-## 运行结果 ##
-
-```
-msh />ls
-Directory /:
-dir_test            <DIR>
-text.txt            23
-msh />cd dir_test
-msh /dir_test>echo "hello" hello.txt
-msh /dir_test>cd ..
-msh />readdir_sample
-found hello.txt
-```
-
-在 dir_test 文件夹下创建 hello.txt 文件后,可以通过示例代码来获得文件夹下的内容。 

+ 0 - 145
readwrite/README.md

@@ -1,145 +0,0 @@
-# 文件读写 #
-
-## 介绍 ##
-
-这个例程展示了如何进行文件读写。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 代码清单:文件读写例子
- *
- * 这个例子演示了如何读写一个文件,特别是写的时候应该如何操作。
- */
-
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-#define TEST_FN     "/test.dat"
-
-/* 测试用的数据和缓冲 */
-static char test_data[120], buffer[120];
-
-static void readwrite_sample(void)
-{
-    int fd;
-    int index, length;
-
-    /* 只写 & 创建 打开 */
-    fd = open(TEST_FN, O_WRONLY | O_CREAT | O_TRUNC, 0);
-    if (fd < 0)
-    {
-        rt_kprintf("open file for write failed\n");
-        return;
-    }
-
-    /* 准备写入数据 */
-    for (index = 0; index < sizeof(test_data); index ++)
-    {
-        test_data[index] = index + 48;
-    }
-
-    /* 写入数据 */
-    length = write(fd, test_data, sizeof(test_data));
-    if (length != sizeof(test_data))
-    {
-        rt_kprintf("write data failed\n");
-        close(fd);
-        return;
-    }
-
-    /* 关闭文件 */
-    close(fd);
-
-    /* 只写并在末尾添加打开 */
-    fd = open(TEST_FN, O_WRONLY | O_CREAT | O_APPEND, 0);
-    if (fd < 0)
-    {
-        rt_kprintf("open file for append write failed\n");
-        return;
-    }
-
-    length = write(fd, test_data, sizeof(test_data));
-    if (length != sizeof(test_data))
-    {
-        rt_kprintf("append write data failed\n");
-        close(fd);
-        return;
-    }
-    /* 关闭文件 */
-    close(fd);
-
-    /* 只读打开进行数据校验 */
-    fd = open(TEST_FN, O_RDONLY, 0);
-    if (fd < 0)
-    {
-        rt_kprintf("check: open file for read failed\n");
-        return;
-    }
-
-    /* 读取数据(应该为第一次写入的数据) */
-    length = read(fd, buffer, sizeof(buffer));
-    if (length != sizeof(buffer))
-    {
-        rt_kprintf("check: read file failed\n");
-        close(fd);
-        return;
-    }
-
-    /* 检查数据是否正确 */
-    for (index = 0; index < sizeof(test_data); index ++)
-    {
-        if (test_data[index] != buffer[index])
-        {
-            rt_kprintf("check: check data failed at %d\n", index);
-            close(fd);
-            return;
-        }
-    }
-
-    /* 读取数据(应该为第二次写入的数据) */
-    length = read(fd, buffer, sizeof(buffer));
-    if (length != sizeof(buffer))
-    {
-        rt_kprintf("check: read file failed\n");
-        close(fd);
-        return;
-    }
-
-    /* 检查数据是否正确 */
-    for (index = 0; index < sizeof(test_data); index ++)
-    {
-        if (test_data[index] != buffer[index])
-        {
-            rt_kprintf("check: check data failed at %d\n", index);
-            close(fd);
-            return;
-        }
-    }
-
-    /* 检查数据完毕,关闭文件 */
-    close(fd);
-    /* 打印结果 */
-    rt_kprintf("read/write done.\n");
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(readwrite_sample, readwrite sample);
-```
-
-## 运行结果 ##
-
-```
-msh />readwrite_sample
-read/write done.
-msh />ls
-Directory /:
-dir_test            <DIR>
-text.txt            23
-test.dat            240
-msh />cat test.dat
-0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑ
-ªº
-```
-
-运行示例代码后,可以看到程序分两次向 test.dat 文件中写入了 240 个字符的数据,第二次写入的数据追加在第一次写入的数据之后。

+ 0 - 50
rename/README.md

@@ -1,50 +0,0 @@
-# 更改名称 #
-
-## 介绍 ##
-
-这个例程展示了如何更改文件名称。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:更改名称
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 rename()函数
- * int rename(const char *oldpath, const char *newpath);
- * rename()会将参数oldpath 所指定的文件名称改为参数newpath
- * 所指的文件名称。若newpath 所指定的文件已经存在,则该文件将会被覆盖。
- *
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void rename_sample(void)
-{
-    rt_kprintf("%s => %s ", "/text.txt", "/text1.txt");
-
-    if (rename("/text.txt", "/text1.txt") < 0)
-        rt_kprintf("[error!]\n");
-    else
-        rt_kprintf("[ok!]\n");
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(rename_sample, rename sample);
-```
-
-## 运行结果 ##
-
-```
-msh />echo "hello" text.txt
-msh />ls
-Directory /:
-text.txt            5
-msh />rename_sample
-/text.txt => /text1.txt [ok!]
-msh />ls
-Directory /:
-text1.txt           5
-```
-
-我们先使用 echo 命令创建文件 text.txt,接着运行示例代码将其文件名修改为 text1.txt。

+ 0 - 34
stat/README.md

@@ -1,34 +0,0 @@
-# 取得状态 #
-
-这个例程展示了如何取得文件状态。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:取得状态
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 stat() 函数
- * int stat(const char *file_name, struct stat *buf);
- * stat()函数用来将参数file_name 所指向的文件状态,
- * 复制到buf 指针所指的结构中(struct stat)。
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-static void stat_sample(void)
-{
-    int ret;
-    struct stat buf;
-    ret=stat("/text.txt", &buf);
-    if(ret == 0)
-        rt_kprintf("text.txt file size = %d\n", buf.st_size);
-    else
-        rt_kprintf("text.txt file not fonud\n");
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(stat_sample, show text.txt stat sample);
-```
-
-通过 echo 命令创建文件 text.txt 后,可以通过示例代码来获取文件状态信息。

+ 0 - 82
tell_seek_dir/README.md

@@ -1,82 +0,0 @@
-# 保存与设置读取目录位置 #
-
-这个例程展示了如何取得保存与设置读取目录位置。
-
-## 程序清单 ##
-
-```{.c}
-/*
- * 程序清单:保存与设置读取目录位置
- *
- * 程序会创建一个操作文件的函数并导出到msh命令列表
- * 在函数中调用 telldir() 函数
- * off_t telldir(DIR *d); 获取目录流的读取位置
- * void seekdir(DIR *d, off_t offset); 设置下次读取目录的位置
-*/
-#include <rtthread.h>
-#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
-
-/* 假设文件操作是在一个线程中完成 */
-static void telldir_sample(void)
-{
-    DIR *dirp;
-    int save3 = 0;
-    int cur;
-    int i = 0;
-    struct dirent *dp;
-
-    /* 打开根目录 */
-    dirp = opendir("/");
-    for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
-    {
-        /* 保存第三个目录项的目录指针*/
-        i++;
-        if (i == 3)
-            save3 = telldir(dirp);
-
-        rt_kprintf("%s\n", dp->d_name);
-    }
-
-    /* 回到刚才保存的第三个目录项的目录指针*/
-    seekdir(dirp, save3);
-
-    /* 检查当前目录指针是否等于保存过的第三个目录项的指针. */
-    cur = telldir(dirp);
-    if (cur != save3)
-    {
-        rt_kprintf("seekdir (d, %ld); telldir (d) == %ld\n", save3, cur);
-    }
-
-    /* 从第三个目录项开始打印*/
-    for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
-        rt_kprintf("%s\n", dp->d_name);
-
-    /* 关闭目录*/
-    closedir(dirp);
-}
-/* 导出到 msh 命令列表中 */
-MSH_CMD_EXPORT(telldir_sample, telldir sample);
-```
-
-## 运行结果 ##
-
-```
-msh />ls
-Directory /:
-hello_1             <DIR>
-hello_2             <DIR>
-hello_3             <DIR>
-hello_4             <DIR>
-hello_5             <DIR>
-msh />telldir_sample
-hello_1
-hello_2
-hello_3
-hello_4
-hello_5
-hello_3
-hello_4
-hello_5
-```
-
-可以看到根目录下有5个文件夹,此时运行示例程序。第一次读取根目录时从第一个文件夹开始读取,然后使用 `seekdir` 函数设置了第二次读取的位置为第三个文件夹的位置。因此第二次读取根目录时,系统从第三个文件夹开始读取直到最后一个文件夹。