gpt4 book ai didi

c++ - Mac OSX 弃用的 API - FSRef 引用;

转载 作者:搜寻专家 更新时间:2023-10-31 02:03:53 26 4
gpt4 key购买 nike

我有以下在 OSX 10.13 之前的机器上编译的代码

  FSRef ref;
OSType folderType = kApplicationSupportFolderType;
char path_c[PATH_MAX];
FSFindFolder(kUserDomain, folderType, kCreateFolder, &ref);
FSRefMakePath( &ref, (UInt8*)&path_c, PATH_MAX);

我需要它来处理最新版本。我怎样才能改变这个?目前它说这样的 API 不存在

最佳答案

现代等效项需要 Objective-C(++) 或 Swift。在 Objective-C 中,它将是:

NSFileManager *fm = [NSFileManager new];
NSURL *url = [fm URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create:YES
error:NULL];
char path_c[PATH_MAX];
[url getFileSystemRepresentation:path_c maxLength:sizeof(path_c)];

我不知道您将如何使用 path_c。如果你只需要一个指向 C 字符串的指针作为路径,并且在 url 对象被释放后它不会被使用,你可以使用 url.fileSystemRepresentation,而不是.更好的是,尽可能切换到使用采用 URL 而不是路径字符串的 API。

关于c++ - Mac OSX 弃用的 API - FSRef 引用;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54637851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com