【发布时间】:2010-11-17 03:30:47
【问题描述】:
我了解unsigned char * 和char * 类型之间的区别。我也了解如何在 C++ 中使用 reinterpret_cast 将 unsigned char * 转换为 char *。
我在 Objective-C 中使用 sqlite3 并试图从调用中获取 NSString
sqlite3_column_text(...);
要做到这一点,我基本上是在做:
char *cParam = (char *)sqlite3_column_text(compiledStatementPtr, 0);
NSString *aParam = nil;
if (cParam) {
aParam = [NSString stringWithUTF8String:cParam];
}
sqlite3_column_text(),然而,返回一个unsigned char *,我担心char * 的演员的行为。我已经读过演员表是特定于实现的,我想知道这是否是 Objective-C 中的安全演员表,或者我是否完全在错误的树上吠叫?
【问题讨论】:
-
BTW reinterpret_cast 似乎对 ObjC 不可用,除非它在我不知道的头文件中——这是可能的。
-
reinterpret_cast是 Objective-C 中不可用的 C++ 运算符。
标签: objective-c casting sqlite char unsigned