我在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. 如何從SVG路徑創建BufferedImage?
- 8. 從路徑值創建路徑?
- 9. 從包含HTML的NSString中創建一個本地NSURL?
- 10. CMake包含路徑
- 11. ZF包含路徑
- 12. 當路徑包含#
- 13. VS15包含路徑
- 14. 如何在包含帶路徑的包含文件的Visual Studio中構建?
- 15. 如何使用反射包從類路徑創建對象
- 16. 如何修改包含特定路徑的路徑
- 17. Netlogo - 如何創建路徑?
- 18. 包含的makefile的路徑
- 19. 創建簡單的路徑邊緣不包含在BFS
- 20. Oracle xmltype列,創建包含以下路徑的xmlindex
- 21. 創建包含unicode路徑的快捷方式
- 22. 如何爲包含助手的資源創建單一的GET路徑?
- 23. 在包含GET路徑中包含GET變量(路徑)
- 24. Eclipse構建路徑排除/包含
- 25. DBUS - 如何設置包含路徑
- 26. 如何編輯python包含路徑
- 27. PHP,如何設置包含路徑
- 28. 包含路徑 - 相對路徑
- 29. NSString到FSRef轉換不起作用
- 30. 如何構建包含變量的路徑?