nsstring and const char* conversion

前端 未结 4 1626
感情败类
感情败类 2020-12-14 09:35

i try to convert nsstring to const char*.

1- i add a nsstring and an integer together
2- then i convert this new nsstring to const char*
3- i have an object

相关标签:
4条回答
  • 2020-12-14 09:37

    const char* are constant, you can't assign them in anyway !

    Try passing (const char*)[firstName UTF8String] to your method

    0 讨论(0)
  • 2020-12-14 09:46

    Use cStringUsingEncoding from the NSString class:

    NSString *myString = @"Hello";
    const char *cString = [myString cStringUsingEncoding:NSASCIIStringEncoding];
    
    0 讨论(0)
  • 2020-12-14 09:56

    Use this method:

    char* MakeStringCopy (const char* string)
    {
        if (string == NULL)
            return NULL;
    
        char* res = (char*)malloc(strlen(string) + 1);
        strcpy(res, string);
        return res;
    }
    
    NSString *filePath = @"~/Documents/Image.png";
    MakeStringCopy([filePath UTF8String]);
    
    0 讨论(0)
  • 2020-12-14 09:57
    NSString* firstName = [NSString stringWithFormat: @"Name%d", 1];
    
    const char* secondName = [firstName UTF8String];
    
    UTF8String returns a const char:   - (const char *)UTF8String
    
    0 讨论(0)
提交回复
热议问题