/ / Wie würde ich ein Zeichen auf die Speicheradresse eines Zeichens in einem NSString verweisen? - iphone, speicher, nsstring, char, speicheradresse

Wie würde ich ein Char auf die Speicheradresse eines Zeichens in einem NSString zeigen? - iPhone, Speicher, NSString, Char, Speicheradresse

Ich habe einen NSString * string = "HELLO". Wie bekomme ich die Adresse in Erinnerung an den Buchstaben E und zeige ein Zeichen darauf.

Antworten:

2 für die Antwort № 1

Das ist nicht wie NSStrings Arbeit; Sie sind Objekte und verhalten sich als solche. Ich weiß nicht, ob Sie Adressen direkt von ihnen bekommen können, aber das wäre eine schlechte Idee. Können Sie eine C-ähnliche Zeichenfolge verwenden?

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

Wenn nicht, kannst du zwischen den beiden konvertieren:

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

P.S. Ich glaube du meinst (oder sollte verwenden) @"HELLO" in deinem Beispiel; "HELLO" ist eine Zeichenfolge im C-Stil.


0 für die Antwort № 2

Sie können "t NSString Das Gedächtnis des Objekts ist schreibgeschützt und undurchsichtig; interne Zeiger sind in diesem Zusammenhang ohne Bedeutung. Was wollen Sie erreichen? Es gibt möglicherweise eine andere Möglichkeit, dies zu tun (z. B. eine NSMutableStringoder ein Array von unichar oder char Werte.)


0 für die Antwort № 3

Sie kann Verwenden Sie UTF8String, cStringUsingEncoding: oder getCString: maxLength: coding: Um einen "C-String" aus dem NSString zu erhalten, hat der zurückgegebene String jedoch eine (kurze) Lebensdauer und ist nicht an den Zeichenpuffer im NSString gebunden.

Und natürlich ist die Phrase "zeigen Sie ein Zeichen darauf" bedeutungslos.