char型, std::string型, NSString型の相互変換。
たまにすぐでてこないので、未来の自分の為に備忘録。
- std::string->char
1 2 3 4 5 |
char szDst[256]; std::string strSrc = "hoge"; //const char* pszDst = strSrc.c_str(); sprintf(szDst, "%s", strSrc.c_str()); |
又は
1 2 3 4 5 6 7 8 |
char* pszDst; std::string strSrc = "hoge"; pszDst = (char *)malloc( strlen(strSrc.c_str()) + 1 ); std::sprintf(pszDst, "%s", strSrc.c_str()); ... free(pszDst); // 忘れずに |
- char->std::string
1 2 3 |
char szSrc[]="hoge"; std::string strDst = std::string(szSrc); |
- char->NSString
1 2 3 |
char szSrc[]="hoge"; NSString *nsstrDst = [NSString stringWithUTF8String: szSrc]; |
- NSString->char
1 2 3 4 5 |
char szDst[256]; NSString *nsstrSrc = @"hgoe"; //const char* pszDst = [nsstrSrc UTF8String]; sprintf(szDst, "%s", [nsstrSrc UTF8String]); |
又は
1 2 3 4 5 6 7 8 |
char* pszDst; NSString *nsstrSrc = @"hgoe"; pszDst = (char *)malloc( strlen([nsstrSrc UTF8String]) + 1 ); std::sprintf(pszDst, "%s", [nsstrSrc UTF8String]); ... free(pszDst); // 忘れずに |
- NSString->std::strgin
1 2 3 |
NSString *nsstrSrc = @"hgoe"; std::string strDst = [nsstrSrc UTF8String]; |
- std::string->NSString
1 2 3 |
std::string strSrc = "hoge"; NSString *nsstrDst = [NSString stringWithUTF8String:strSrc.c_str()]; |
std::string->charじゃなくstd::string->char[]でしょ