Objective c 目标C-unicode(乌尔都语)文件副本

Objective c 目标C-unicode(乌尔都语)文件副本,objective-c,macos,unicode,filesystems,urdu,Objective C,Macos,Unicode,Filesystems,Urdu,我正在尝试订阅移动到垃圾MacOS事件并将文件夹复制回来。 代码可以使用默认的英文字母,但是当我使用乌尔都语和乌尔都语数字格式时,copyItemAtPath在复制时找不到文件夹 回拨: void fsevents_callback(ConstFSEventStreamRef streamRef, void * userData, size_t numEvents, void * eventPaths, const FSEventStreamEventFlags

我正在尝试订阅移动到垃圾MacOS事件并将文件夹复制回来。 代码可以使用默认的英文字母,但是当我使用乌尔都语和乌尔都语数字格式时,copyItemAtPath在复制时找不到文件夹

回拨:

void fsevents_callback(ConstFSEventStreamRef streamRef,
    void * userData,
    size_t numEvents,
    void * eventPaths,
    const FSEventStreamEventFlags eventFlags[],
    const FSEventStreamEventId eventIds[]) {
    FSEventsListener * eventListener = (__bridge FSEventsListener * ) userData;
    char ** paths = eventPaths;

    for (int i = 0; i < numEvents; i++) {
        NSString * name = [NSString stringWithFormat: @ "%s", paths[i]];
        NSLog(@ "Path: %@ (flag = %d)", name, eventFlags[i]);

        if (eventFlags[i] & kFSEventStreamEventFlagItemRenamed) {
            [eventListener.delegate fileWasRenamed: name];
        } else {
            [eventListener.delegate fileWasTouched: name];
        }
    }
}
当我试图复制时,我得到了一个错误:

错误域=NSPOSIXErrorDomain Code=2“没有这样的文件或目录”

垃圾箱中的文件名:我的文件夹

[NSString stringWithFormat: @ "%s", paths[i]];
显然不是处理unicode字符串的有效方法。使用

[NSString stringWithUTF8String:paths[i]];

相反,它应该有帮助。

是的,它有帮助。谢谢。
[NSString stringWithUTF8String:paths[i]];