我在NSString中有一个文件系统路径,但我需要一个FSRef来进行系统调用。创建FSRef的最佳方式是什么?如何从包含路径的NSString创建FSRef?
3
A
回答
5
尝试FSPathMakeRef:
NSString *path = @"Some... path... here";
FSRef f;
OSStatus os_status = FSPathMakeRef((const UInt8 *)[path fileSystemRepresentation], &f, NULL);
if (os_status == noErr) {
NSLog(@"Success");
}
2
您可以使用FSPathMakeRef()
使从UTF-8的C字符串路径的FSRef
,您可以使用的NSString
的-UTF8String
方法得到一个UTF-8的C字符串:
FSRef fsref;
Boolean isDirectory;
OSStatus result = FSPathMakeRef([myString UTF8String], &fsref, &isDirectory);
if(result < 0)
// handle error
// If successful, fsref is valid, and isDirectory is true if the given path
// is a directory. If you don't care about that, you can instead pass NULL
// for the third argument of FSPathMakeRef()
1
你可以在他的一个NSString + NDCarbonUtilities类别使用此方法从弥敦道日:
- (BOOL)getFSRef:(FSRef *)aFSRef
{
return FSPathMakeRef((const UInt8 *)[self fileSystemRepresentation], aFSRef, NULL) == noErr;
}
欲了解更多信息,请参阅NDAlias http://homepage.mac.com/nathan_day/pages/source.xml(MIT许可)。
相关问题
- 1. 如何将NSString中的路径转换为CFURLRef和FSRef *
- 2. 如何从包含'大纲'的路径创建剪辑区域?
- 3. 创建包含类路径的jar
- 4. 如何创建包含空格的图像路径?
- 5. 如何创建一个包含NSLineSeparatorCharacter的NSString?
- 6. 如何从路径创建属性
- 7. 从路径值创建路径?
- 8. VS15包含路径
- 9. 如何在包含带路径的包含文件的Visual Studio中构建?
- 10. 如何使用反射包从类路径创建对象
- 11. 如何修改包含特定路径的路径
- 12. Netlogo - 如何创建路径?
- 13. 包含的makefile的路径
- 14. 创建简单的路径边缘不包含在BFS
- 15. 创建包含unicode路径的快捷方式
- 16. 如何为包含助手的资源创建单一的GET路径?
- 17. Eclipse构建路径排除/包含
- 18. 包含路径 - 相对路径
- 19. 从路径创建蒙版
- 20. 从路径创建区域
- 21. 如何在Perl中创建一个包含所有子目录的路径?
- 22. 如何在Java中创建一个不包含绝对路径名的Zip/Jar
- 23. 通过从Twig变量包含路径?
- 24. bash脚本从文件中创建符号链接包含的路径
- 25. 创建pdf时包含文件名路径
- 26. 如何从包含通配符的路径中提取目录?
- 27. 如何从不同的目录路径和深度中包含
- 28. 如何从包含'。'的unc路径获取DirectorySecurity。作为localhost?
- 29. NSString到FSRef转换不起作用
- 30. 如何创建laravel中的包的路径集合4