2013-10-10 16 views
1

我在閱讀this。在這裏我找到了一些代碼行,例如:wsprintf(szDrive, "\\\\.\\%c:", *lpszSrc);我想問,這個字符串給了什麼?此字符串的含義\。 c:

我試圖尋找信息,但所有我發現是:

在這個函數的ANSI版本,名稱限制爲MAX_PATH 字符。要將此限制擴展到32,767個寬字符,請調用該函數的Unicode版本 ,並將"\\?\"添加到該路徑。有關 的更多信息,請參閱命名文件,路徑和命名空間。

而這不回答我的問題,所以在這裏問。正如我認爲它應該與特定於Windows或NTFS的連接,但不確定。

回答

3

%cwsprintf的單字符格式說明符。

該代碼被用來產生這種形式的路徑名:

\\.\C: 

這是路徑的物理卷。在捲上直接執行文件操作時繞過文件系統使用此路徑。因此,例如,在執行原始磁盤複製時,您會使用這樣的路徑。 CreateFile的文檔有更多的細節。

這一切都與您發現此代碼的代碼執行原始磁盤複製有關。

+0

哦,我以爲你知道那一點。 '%c'只是'wsprintf'的格式說明符。 –

+0

因此,如果我想打開文件'C:\ file.txt'來訪問它的原始數據,我必須打開路徑爲\\。\ C:C:\ file.txt',並且在''後面不需要反斜槓' \\。\ C:'。或者我需要編寫'\\。\ C \ file.txt' – ST3

+0

\\。\ C:用於訪問**卷**當您這樣做時,您可以訪問原始磁盤扇區。如果你想訪問一個文件,使用文件名和原始磁盤訪問不適合你。 –

相關問題