cur_mkdir->directItem[1].sign=cur_dir->directItem[0].sign; cur_mkdir->directItem[1].firstDisk=cur_dir->directItem[0].firstDisk; strcpy(cur_mkdir->directItem[1].name,".."); cur_mkdir->directItem[1].next=cur_mkdir->directitem[1].firstDisk; cur_mkdir->directItem[1].type=1; cur_mkdir->directItem[1].size=ROOT_lihao_SIZE;
时间: 2023-12-30 08:03:36 浏览: 67
这段代码同样是在对目录项进行赋值操作,但是与前面的代码不同,这次是在为子目录中的 `..` 目录项赋值。下面是代码的解释:
- `cur_mkdir->directItem[1].sign=cur_dir->directItem[0].sign;`:将该目录项的标志位 `sign` 设为当前目录的第一个文件或子目录的标志位,表示该目录项当前被使用。
- `cur_mkdir->directItem[1].firstDisk=cur_dir->directItem[0].firstDisk;`:将该目录项的 `firstDisk` 字段设为当前目录的第一个文件(或子目录)在磁盘上的起始位置,表示该目录项的内容是当前目录的父目录。
- `strcpy(cur_mkdir->directItem[1].name,"..");`:将该目录项的 `name` 字段设为字符串 `".."`,表示该目录项对应的是当前目录的父目录。
- `cur_mkdir->directItem[1].next=cur_mkdir->directitem[1].firstDisk;`:将该目录项的 `next` 字段设为指向该目录项所在磁盘块的位置,即指向该目录项的第一个文件或子目录的位置,这里应该与第一个目录项的 `next` 字段相同。
- `cur_mkdir->directItem[1].type=1;`:将该目录项的 `type` 字段设为 1,表示该目录项是一个子目录。
- `cur_mkdir->directItem[1].size=ROOT_lihao_SIZE;`:将该目录项的 `size` 字段设为目录的大小,这里的 `ROOT_lihao_SIZE` 可能是一个常量,表示该目录的预设大小。
同样需要注意的是,这段代码中的 `directitem` 应该改为 `directItem`,因为结构体中的成员名是区分大小写的。
阅读全文