ExOJ 檔案系統 (Cpp)

2021-09-13 18:38:12 字數 677 閱讀 3761

這道題寫的比較亂,主要就是字串處理問題,因為帶有空白字元的一整行字串無法用scanf讀入,而部分oj又禁用gets函式,所以在這裡選擇用cin.getline(),然後再分解字串。

大致思路就是利用結構體陣列,其中用0/1分別表示目錄or檔案,再另設定兩個變數用於儲存檔案/目錄名稱及其所屬目錄路。最後根據讀入的字串判斷對應操作即可,因為題目已經限制了很多極端條件,所以總體來說這道題只是寫著麻煩,但並不難。

#include #include #include #include using namespace std; 

struct file ;

int main()

}str[h][r] = '\0'; //想一下若沒有這行**會發生什麼?

int len = strlen(str[0]); //四種字串長度分別為7 8 9 10

int op = len % 7; //取模

if (op == 0) else if (op == 1) else if (op == 2) else if (op == 3)

} t--;

} return 0;

}

檔案系統 why檔案系統

為什麼需要檔案系統,可否由作業系統直接寫裸裝置?裸裝置是一種沒有經過格式化的磁碟或分割槽,即讓作業系統直接管理操作磁碟設定,進行資料讀寫等。通過檔案系統的方式組織磁碟儲存和資料管理有很多好處,比如 1.資料讀取 管理等操作變得簡單便捷 檔案系統給使用者提供了乙個簡單的操作介面,只需簡單的操作就能實現...

檔案系統 檔案系統的架構

vfs是具體檔案系統的抽象,依靠超級塊 inode dentry以及檔案這些結構來發揮作用,檔案系統的架構就體現在這些結構的使用方式中。1 超級塊作用分析 1 2 所有的dentry都指向乙個dentry hashtable dentry hashtable是乙個樹組,每乙個樹組成員都是hash鍊錶...

檔案系統 編寫檔案系統

8.5 編寫乙個檔案系統 如果寫乙個實際檔案系統,但是涉及的東西太多,不容易簡明扼要的理解檔案系統的實現。linux核心中提供的romfs檔案系統是個非常理想的例子,既有實際應用架構,也清晰明了,故以romfs為例項分析檔案系統的實現。一 linux檔案系統的實現要素 編寫新檔案系統涉及一些基本物件...