iphone

iphone - Conversión nsstring y const char*



(4)

Use cStringUsingEncoding de la clase NSString:

NSString *myString = @"Hello"; const char *cString = [myString cStringUsingEncoding:NSASCIIStringEncoding];

Intento convertir nsstring a const char *.

1- agrego un nsstring y un entero juntos
2- luego convierto este nuevo nsstring a const char *
3- Tengo un objeto y atribuyo esta nueva cadena de caracteres como el nombre de mi objeto.
4- Utilizo este objeto en otra función.

NSString * firstName = [NSString stringWithFormat: @ "Name% d", 1];
const char * secondName = [firstName cString];
myobject-> setName (secondName);

problema: A
1- secondName es nulo cuando uso mi objeto en mi función.
2- pero si sustituyo el nombre por: firstName = "Name1";
3- funciona

problema B
1- si sustituyo const char * secondName = [firstName cString];
por const char * secondName = [macString UTF8String];
2- incluso si tengo el primer nombre = "Nombre1";
3- Esto no esta funcionando !!

alguna idea ??

gracias

: =)


Utilice este método:

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]);


const char * son constantes, no puedes asignarlas de ninguna manera!

Intente pasar (const char*)[firstName UTF8String ] a su método


NSString* firstName = [NSString stringWithFormat: @"Name%d", 1]; const char* secondName = [firstName UTF8String]; UTF8String returns a const char: - (const char *)UTF8String