/ Como eu poderia apontar um caractere para o endereço de memória de um caractere em um NSString? - iphone, memória, nsstring, char, memory-address

Como eu poderia apontar um caractere para o endereço de memória de um caractere em um NSString? - iphone, memória, nsstring, char, memory-address

Eu tenho um NSString * string = "HELLO". Como eu obteria o endereço na memória da letra E e apontaria um caractere para ele?

Respostas:

2 para resposta № 1

Isso não é como NSStrings trabalho; eles são objetos e se comportam assim. Não sei se você consegue endereços diretamente deles, mas isso seria uma má ideia. Você pode usar uma string no estilo C?

char *string = "HELLO";
char *letterE = string + 1;

Se não, você pode converter entre os dois:

char *cString = [string UTF8String]; // Or any encoding

P.S. Eu acredito que você quer dizer (ou deveria usar) @"HELLO" no seu exemplo; "HELLO" é uma string de estilo C.


0 para resposta № 2

Você pode "t. An NSString a memória do objeto é somente leitura e opaca, os indicadores internos não têm sentido neste contexto. O que você está tentando realizar? Pode haver outra maneira de fazer isso (como usar um NSMutableStringou uma matriz de unichar ou char valores.)


0 para resposta № 3

Você posso use UTF8String, cStringUsingEncoding: ou getCString: maxLength: encoding: para obter uma "string C" do NSString, mas a string retornada possui uma vida (curta) própria e não está vinculada ao buffer de caracteres no NSString.

E, claro, a frase "aponte um char para ele" não tem sentido.