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 № 1Isso não é como NSString
s 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 NSMutableString
ou 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.