2017-02-23 2 views
0

ich habe ein Problem mit diesem Code:LSOpenCFURLRef wird Datei nicht mit öffnen;

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

ich bin Empfangspfade in Form

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

LSOpenCFURLRef die Datei mit dem oben angegebenen Pfad zu öffnen, verwaltet, aber wenn der Weg Semikolons umfasst LSOpenCFURLRef schlägt fehl mit -43 (nicht gefunden)

wenn ich ersetze; mit% 3B funktioniert es, aber das scheint wie ein Patch, keine Lösung.

wenn der eingehende Pfad URL vollständig dann CFURLCreateWithString codiert wird, schlägt fehl und gibt NULL zurück, so kann ich es nenne ich den Text nicht LSOpenCFURLRef

Antwort

0

zu machen arbeiten unescape hatte und es dann wieder entkommen, indem sie in CFURLCreateStringByAddingPercentEscapes, die Zeichen explizite Angabe zu Escape (Hinzufügen; zur Liste)

Verwandte Themen