2017-02-23 73 views
0

我有此代码的问题:LSOpenCFURLRef不会打开文件;

CFStringRef URL = CFStringCreateWithCString(NULL, url.ToString().c_str(), kCFStringEncodingASCII); 
    CFURLRef pathRef = CFURLCreateWithString(NULL, URL, NULL); 
    if (pathRef) { 
     OSStatus status = LSOpenCFURLRef(pathRef, NULL); 

我在形式

"file:///Users/x/Documents/5%20Sample%20of%20Small%20Construction%20Plan%20(A0+).htg" 

LSOpenCFURLRef设法打开与上述路径的文件接收路径,但是如果路径包括分号LSOpenCFURLRef -43失败(未找到)

如果我替换;与%3B的工作,但这似乎是一个补丁,而不是解决方案。

如果去路完全URL编码,然后CFURLCreateWithString失败并返回由CFURLCreateStringByAddingPercentEscapes的字符时明确指明了再空,因此我不能叫LSOpenCFURLRef

回答

0

,使其工作,我不得不取消转义文本,然后逃跑吧越狱(加入;到名单)