2

我正在使用fopen(),我需要打开一个文件,在其中传递一个带有空格的路径作为参数。这是我的代码:

FILE * pFile;
pFile = fopen ("\this folder\myfile.txt","w");

这会这样工作还是我需要在其中添加一些东西来识别空间?谢谢。

4

4 回答 4

4

空间会起作用,但你需要逃跑'\',因为

pFile = fopen ("\\this folder\\myfile.txt","w")
于 2013-05-03T14:23:02.803 回答
4

如果路径中有空格,则无需执行任何特殊操作。

pFile = fopen ("\\this folder\\myfile.txt","w");

应该管用。请注意字符串中所需的双反斜杠。

于 2013-05-03T14:23:23.217 回答
0

考虑:rawurlencode()

如果您尝试加载外部资源,http://domain.com/path/to/file/filename has spaces.php那么您可能需要对 url 进行编码以避免fopen()失败。

在这种情况下,您实际上应该调用rawurlencode(),因为这会将所有必要的字符转换为%XY字符,包括空格。常规urlencode()将空格转换为无用的 a +

警告:我还没有在一个广泛的字符串列表上对此进行测试,因此它可能会产生一组不同的问题,但它在我能找到的所有情况下都对我有用。

于 2016-08-23T15:53:58.023 回答
0

不是 pFile = fopen ("\this folder\myfile.txt","w");

应该是 pFile = fopen ("\this folder\myfile.txt","wb");

于 2016-07-23T14:36:28.250 回答