首先把絕對目錄和相對目錄都轉換成絕對目錄,即加上目前的目錄;然後將中間多餘的「/」、」/../」、」/./」都根據實際情況捨去;
判斷是否是根目錄,如果是根目錄,加乙個「/」;
最後注意的是有可能輸入是乙個換行符,則表示目前的目錄,所以輸入格式要注意。
// 16_04_3.cpp: 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
#include
#include
using
namespace
std;
vector
standard;
void process(string &s)
while (true)
while (true)
}
else
}if (s[s.length() - 1] == '/'&&s.length()>1)
s.erase(s.length() - 1, 1);
}int main()
for (int i = 0; i < n; i++)
system("pause");
return
0;}
CCF201604 3路徑解析
本題會給出一些路徑,要求對於每個路徑,給出正規化以後的形式。乙個路徑經過正規化操作後,其指定的檔案不變,但是會變成乙個不包含 和 的絕對路徑,且不包含連續多個 符號。如果乙個路徑以 結尾,那麼它代表的一定是乙個目錄,正規化操作要去掉結尾的 若這個路徑代表根目錄,則正規化操作的結果是 若路徑為空字串,...
CCF201604 3路徑解析
問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄。同乙個目錄下的所有檔案和目錄的名字各不相同,不同目錄下可以有名字相同的檔案或目錄。為了指定檔案...
CCF 201604 3 路徑解析
試題編號 201604 3 試題名稱 路徑解析 時間限制 1.0s 記憶體限制 256.0mb 問題描述 在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄...