2017-02-23 61 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

,使其工作,我不得不取消轉義文本,然後逃跑吧越獄(加入;到名單)