美文网首页游戏开发
OC与c++混编数据类型转换

OC与c++混编数据类型转换

作者: angelababa | 来源:发表于2015-04-23 13:49 被阅读1960次

1.NSString转化为UNICODE String:(NSString*)fname = @“Test”;char fnameStr[10];memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));

与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节

2.NSString 转化为 char *NSString * str= @“Test”;const char * a =[str UTF8String];

3.char * 转化为 NSString

NSString *str=[NSString stringWithCStringencoding:NSUTF8StringEncoding];

4.char * 转化 NSData方法一: 

 char * a = (char*)malloc(sizeof(byte)*16); 

 NSData *data = [NSData dataWithBytes: a length:strlen(a)]; 

方法二:    

转换为NSString: - (id)initWithUTF8String:(const char *)bytes   

 然后用NSString的 - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding

5.NSData 转化 char *NSData data ;  char* a=[data bytes];

6.NSData 转化 NSString;

NSData* data;

NSString* aStr= [NSString alloc] initWithData:dataencoding:NSASCIIStringEncoding];

7.NSString 转化 NSData对象NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];

------------------------------

std::string->char

char szDst[256];

std::string strSrc = "hoge";

//const char* pszDst = strSrc.c_str();

sprintf(szDst, "%s", strSrc.c_str());

char->std::string

char szSrc[]="hoge";

std::string strDst = std::string(szSrc);

char->NSString

char szSrc[]="hoge";

NSString *nsstrDst = [NSString stringWithUTF8String: szSrc];

NSString->char

char szDst[256];

NSString *nsstrSrc = @"hgoe";

//const char* pszDst = [nsstrSrc UTF8String];

sprintf(szDst, "%s", [nsstrSrc UTF8String]);

std::string转NSString

std::string_string("hello");

NSString*str=[NSStringstringWithCString:_string.c_str()encoding:[NSStringdefaultCStringEncoding]];

NSString转std::string

NSString*nsfaceName=@"HELLO";

constchar*lpfaceName=[nsfaceName UTF8String];

std::stringstrFaceName=[nsfaceName UTF8String];

相关文章

  • OC与c++混编数据类型转换

    1.NSString转化为UNICODE String:(NSString*)fname = @“Test”;ch...

  • OC与Swift混编

    OC与Swift混编 一.objectivec与Swift相互调用对照 OC interface文件如下 转换后对...

  • iOS开发之漫谈OC、C、C++混编

    导读 混编ObjectiveC++ 正题 今天主要讲一下OC与C和C++混编的问题 首先说一下C++文件: 单独把...

  • xcode 未找到 iostream

    OC 和 C++ 混编 类名后缀改为.mm

  • 问题集锦

    OC、C++、Swift混编易遇到如下问题: Use of '@import' when C++ modules ...

  • OC、C、C++ 混编

    .m文件:是OC的源代码 可以写oc、c源代码 obj c 完全兼容 c。 .mm文件:OC与C++混编的代码 可...

  • Swift

    混编 15、OC与Swift的混编_海森堡_lichangan的博客-CSDN博客_oc swift 混编[htt...

  • c++与oc混编之c++中调用oc方法

    项目中用到了C++与OC混编,正好有时间来总结一下. 基本思路: C++中是不能直接调用OC代码的,所以要通过一个...

  • C++、OC混编对象生命周期

    本人在C++和OC混编时对于两者对象生命周期有些疑惑,特别是OC对象作为C++对象成员的时候,C++对象会不会接管...

  • iOS编译命令

    将OC代码转换成C++代码 OC语言基于C/C++语言,实际上要先经过一层编译将OC代码转换为C++代码,对应的c...

网友评论

    本文标题:OC与c++混编数据类型转换

    本文链接:https://www.haomeiwen.com/subject/scfpfttx.html