我使用的是fopen()
,我需要打開一個文件,其中我通過一個路徑,其中包含空格作爲參數。這裏是我的代碼:我們可以傳遞一個包含空格的路徑字符串作爲fopen()的參數嗎?
FILE * pFile;
pFile = fopen ("\this folder\myfile.txt","w");
這樣工作,還是我需要在那裏添加一些東西來識別空間?謝謝。
我使用的是fopen()
,我需要打開一個文件,其中我通過一個路徑,其中包含空格作爲參數。這裏是我的代碼:我們可以傳遞一個包含空格的路徑字符串作爲fopen()的參數嗎?
FILE * pFile;
pFile = fopen ("\this folder\myfile.txt","w");
這樣工作,還是我需要在那裏添加一些東西來識別空間?謝謝。
空間將工作,但你需要逃跑'\'
不過,因爲
pFile = fopen ("\\this folder\\myfile.txt","w")
真棒,謝謝! – Tommy 2013-05-03 14:25:16
沒有什麼特別的,你需要做的,如果路徑中有空格。
pFile = fopen ("\\this folder\\myfile.txt","w");
應該工作。請注意字符串中所需的雙反斜槓。
not pFile = fopen(「\ this folder \ myfile.txt」,「w」);
應該是pFile = fopen(「\ this folder \ myfile.txt」,「wb」);
您必須將'\'替換爲路徑的'\\'。 – 2018-02-04 10:40:18
考慮:rawurlencode()
如果您嘗試加載外部資源,如http://domain.com/path/to/file/filename has spaces.php
,那麼你可能需要編碼的網址,以避免fopen()
從失敗。
在這種情況下,實際上應該調用rawurlencode()
,因爲它會將所有必需的字符轉換爲%XY
字符,包括空格。常規urlencode()
將空格轉換爲+
,這無濟於事。
警告:我沒有在廣泛的字符串列表上測試過,所以它可能會產生一組不同的問題,但它在任何情況下都可以找到。
你爲什麼不試試? – 2013-05-03 14:22:47
最好找出肯定會嘗試它(提示:它會工作,一旦你用'\\''s替換'\\ s,否則第一個字符將是'TAB')。 – dasblinkenlight 2013-05-03 14:22:57
我只是想確保這不會首先導致問題。我覺得這是一個非常基本的問題。 – Tommy 2013-05-03 14:24:49