簡體   English   中英

CreateDirectory無法用於服務器路徑-C ++

[英]CreateDirectory not working for server path - c++

我是C ++的新手。 我面臨的問題是CreateDirectory方法。

CreateDirectory("\\\\ServerName\\foldername\\",NULL)沒有給出錯誤,但也沒有創建任何目錄。 但是,如果我寫的是"D:\\foldername"而不是"\\\\ServerName\\foldername\\"則可以正常工作。

任何幫助都是非常可觀的。

"\\ServerName\\foldername\\"不是有效的Windows路徑

"\\\\ServerName\\foldername\\"有效,但這是"ServerName"網絡主機上的"ServerName" "foldername"共享的"ServerName" 這仍然不是您可以創建的有效目錄。

如果ServerName是有效的主機名,如果sharename是該主機上您具有寫權限的有效共享,則可以創建"\\\\ServerName\\sharename\\foldername" 但是您無法創建"\\\\ServerName\\foldername\\"

感謝Matteo指出在C字符串中, \\必須轉義為\\\\

您必須了解完全合格與相對路徑之間的區別

對於操作文件的Windows API函數,文件名通常可以相對於當前目錄,而某些API需要完全限定的路徑。 如果文件名不是以下列之一開頭,則它是相對於當前目錄的:

  • 任意格式的UNC名稱,始終以兩個反斜杠字符(“ \\”)開頭
  • 帶有反斜杠的磁盤標識符,例如“ C:\\”或“ d:\\”。
  • 單個反斜杠,例如“ \\ directory”或“ \\ file.txt”。 這也稱為絕對路徑。

有關更多信息,請參考命名文件,路徑和命名空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM