如果它包含微笑,则const char * cppString到NSString不起作用

时间:2017-12-08 11:11:01

标签: objective-c nsstring

我有cpp const char* string,其中包含" playlist"个字符。 我正在尝试将其转换为NSString,我收到"@(NULL)"字符串。

以下是我转换它的步骤。

 string cppString = " playlist"; //Cpp data type
  1. 我有一个方法,我传递我的cpp字符串,如
  2. NSString *str = [self charStringToString:cppString.c_str()];

    并且该方法在一些操作之后返回NSString对象:

    + (NSString *)charStringToString:(const char*)cppStringConst
    {
       if ( cppStringConst == NULL || cppStringConst == nullptr  )
       {
          return @"";
       }
       NSString *outputString = [NSString stringWithFormat:@"%@", [NSString stringWithUTF8String:cppStringConst]];
       if ( [outputString isEqualToString:@"(null)"] == YES )
       {
          //it should not come here if I am passing  playlist
            return @"";
       }
       return outputString;
    }
    

    有人能解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

看看this answer类似的问题。我对您const char *字符串中使用的编码感到怀疑。