首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标copy (Urdu)文件副本

目标copy (Urdu)文件副本
EN

Stack Overflow用户
提问于 2018-04-25 15:00:27
回答 1查看 48关注 0票数 1

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

回调:

代码语言:javascript
复制
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];
        }
    }
}

听众:

代码语言:javascript
复制
- (void)fileWasRenamed:(NSString *)aPath
{
    NSString *trashPath = [NSSearchPathForDirectoriesInDomains(NSTrashDirectory, NSUserDomainMask, YES) lastObject];
    if (nil != aPath && NSNotFound != [aPath rangeOfString:trashPath].location)
    {
        NSString *trashFilePath = aPath;
        if (nil != self.removedFilePath && NSNotFound != [trashFilePath.lastPathComponent rangeOfString:self.removedFilePath.lastPathComponent.stringByDeletingPathExtension].location)
        {
            NSError *error = nil;
            NSFileManager *fileManager = [NSFileManager defaultManager];
            BOOL isCopied = [fileManager copyItemAtPath:trashFilePath toPath:self.removedFilePath error:&error];
        }
    }
}

当我试图复制时,我得到了错误:

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

垃圾中的文件名:我的文件夹۱۷.۵۷.۴۴

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-25 20:48:51

代码语言:javascript
复制
[NSString stringWithFormat: @ "%s", paths[i]];

显然不是处理unicode字符串的有效方法。使用

代码语言:javascript
复制
[NSString stringWithUTF8String:paths[i]];

相反应该会有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50025513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档