我正在使用fopen()
,我需要打开一个文件,在其中传递一个带有空格的路径作为参数。这是我的代码:
FILE * pFile;
pFile = fopen ("\this folder\myfile.txt","w");
这会这样工作还是我需要在其中添加一些东西来识别空间?谢谢。
空间会起作用,但你需要逃跑'\'
,因为
pFile = fopen ("\\this folder\\myfile.txt","w")
如果路径中有空格,则无需执行任何特殊操作。
pFile = fopen ("\\this folder\\myfile.txt","w");
应该管用。请注意字符串中所需的双反斜杠。
考虑:rawurlencode()
如果您尝试加载外部资源,http://domain.com/path/to/file/filename has spaces.php
那么您可能需要对 url 进行编码以避免fopen()
失败。
在这种情况下,您实际上应该调用rawurlencode()
,因为这会将所有必要的字符转换为%XY
字符,包括空格。常规urlencode()
将空格转换为无用的 a +
。
警告:我还没有在一个广泛的字符串列表上对此进行测试,因此它可能会产生一组不同的问题,但它在我能找到的所有情况下都对我有用。
不是 pFile = fopen ("\this folder\myfile.txt","w");
应该是 pFile = fopen ("\this folder\myfile.txt","wb");