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