//指向当前目录的目录项 cur_mkdir->directItem[0].sign = 0; cur_mkdir->directItem[0].firstDisk = curDir->directItem[i].firstDisk; strcpy(cur_mkdir->directItem[0].fileName, "."); cur_mkdir->directItem[0].next = cur_mkdir->directItem[0].firstDisk; cur_mkdir->directItem[0].type = 1; cur_mkdir->directItem[0].size = USER_ROOT_SIZE;
时间: 2024-04-23 20:22:38 浏览: 75
这段代码是在创建一个新目录时,设置该目录的 "." 目录项的信息。具体来说,它做了以下几件事情:
1. 将新目录的第一个目录项(即 "." 目录项)的 sign 值置为 0,表示该目录项已经被占用。
2. 将新目录的第一个目录项(即 "." 目录项)的 firstDisk 值设置为该目录的起始磁盘号。
3. 将新目录的第一个目录项(即 "." 目录项)的 fileName 值设置为 ".",表示该目录是自身的父目录。
4. 将新目录的第一个目录项(即 "." 目录项)的 next 值设置为该目录的起始磁盘号。
5. 将新目录的第一个目录项(即 "." 目录项)的 type 值设置为 1,表示该目录项是一个目录。
6. 将新目录的第一个目录项(即 "." 目录项)的 size 值设置为 USER_ROOT_SIZE,表示该目录的大小为 USER_ROOT_SIZE 个字节。
这样就完成了新目录的初始化工作,并且设置了该目录的 "." 目录项的信息。
相关问题
//指向上一级目录的目录项 cur_mkdir->directItem[1].sign = curDir->directItem[0].sign; cur_mkdir->directItem[1].firstDisk = curDir->directItem[0].firstDisk; strcpy(cur_mkdir->directItem[1].fileName, ".."); cur_mkdir->directItem[1].next = cur_mkdir->directItem[1].firstDisk; cur_mkdir->directItem[1].type = 1; cur_mkdir->directItem[1].size = USER_ROOT_SIZE;
这段代码是在创建一个新目录时,设置该目录的 ".." 目录项的信息。具体来说,它做了以下几件事情:
1. 将新目录的第二个目录项(即 ".." 目录项)的 sign 值设置为当前目录的第一个目录项(即 "." 目录项)的 sign 值,表示该目录项已经被占用。
2. 将新目录的第二个目录项(即 ".." 目录项)的 firstDisk 值设置为当前目录的第一个目录项(即 "." 目录项)的 firstDisk 值,即为当前目录的起始磁盘号。
3. 将新目录的第二个目录项(即 ".." 目录项)的 fileName 值设置为 "..",表示该目录是上一级目录。
4. 将新目录的第二个目录项(即 ".." 目录项)的 next 值设置为该目录的起始磁盘号。
5. 将新目录的第二个目录项(即 ".." 目录项)的 type 值设置为 1,表示该目录项是一个目录。
6. 将新目录的第二个目录项(即 ".." 目录项)的 size 值设置为 USER_ROOT_SIZE,表示该目录的大小为 USER_ROOT_SIZE 个字节。
这样就完成了新目录的初始化工作,并且设置了该目录的 ".." 目录项的信息。
cur_mkdir->directItem[0].sign=0; cur_mkdir->directItem[0].firstDisk=cur_dir->directItem[i].firstDisk; strcpy(cur_mkdir->directItem[0].name,"."); cur_mkdir->directItem[0].next=cur_mkdir->directitem[0].firstDisk; cur_mkdir->directItem[0].type=1; cur_mkdir->directItem[0].size=ROOT_lihao_SIZE;
这段代码看起来是在对一个目录项进行赋值操作。具体来说,代码中的 `cur_mkdir` 指向一个目录项结构体,通过对该结构体中的 `directItem` 数组进行操作,可以设置该目录项下的文件或子目录。下面是代码的解释:
- `cur_mkdir->directItem[0].sign=0;`:将该目录项的标志位 `sign` 设为 0,表示该目录项当前没有被使用。
- `cur_mkdir->directItem[0].firstDisk=cur_dir->directItem[i].firstDisk;`:将该目录项的 `firstDisk` 字段设为指向当前目录项第 `i` 个文件(或子目录)在磁盘上的起始位置。
- `strcpy(cur_mkdir->directItem[0].name,".");`:将该目录项的 `name` 字段设为字符串 `"."`,表示该目录项对应的是当前目录。
- `cur_mkdir->directItem[0].next=cur_mkdir->directitem[0].firstDisk;`:将该目录项的 `next` 字段设为指向该目录项所在磁盘块的位置,即指向该目录项的第一个文件或子目录的位置。
- `cur_mkdir->directItem[0].type=1;`:将该目录项的 `type` 字段设为 1,表示该目录项是一个子目录。
- `cur_mkdir->directItem[0].size=ROOT_lihao_SIZE;`:将该目录项的 `size` 字段设为目录的大小,这里的 `ROOT_lihao_SIZE` 可能是一个常量,表示该目录的预设大小。
需要注意的是,这段代码中的 `directitem` 应该改为 `directItem`,因为结构体中的成员名是区分大小写的。
阅读全文