const char *cString;
std::string cppString;
cppString = "Hallo Welt!";
cString = cppString.c_str();
NSString *objcString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
std::string s;
[...]
NSString * cocoaString;
cocoaString = (NSString*)CFStringCreateWithBytes(kCFAllocatorDefault, (const UInt8*)s.c_str(), s.size(), kCFStringEncodingUTF8,false);
NSString* with0 = @"hallo\0Welt";
NSLog( @"%@", with0 );
NSLog( @"%d", [with0 length] );
FileMO.m:443: warning: embedded NUL in CFString literal
2007-12-17 16:20:45.220 LawFirm #9811[22505] hallo
2007-12-17 16:20:45.220 LawFirm #9811[22505] 10
Kann es sein, dass NSStrings (bzw. CFStrings) mit dem guten, alten Pascal-Strings "verwandt" sind, d.h. nicht Zero-terminated sind, sondern einen Counter für die Anzahl der Zeichen beinhalten?
Das würde auch ich (fast) nicht so genau sagen.Und in ein NSTextField per setStringValue: reinschreiben geht auch. Und es wird auch angezeigt. Und editieren geht auch.
Kann es sein, dass NSStrings (bzw. CFStrings) mit dem guten, alten Pascal-Strings "verwandt" sind, d.h. nicht Zero-terminated sind, sondern einen Counter für die Anzahl der Zeichen beinhalten?
Gruss, Jörg
NSString* firstName = @"Amin";
NSString* completeName = [firstName stringByAppendingString:@" Negm-Awad"];
ja, C++ ist grausam.Danke schonmal für die Tips
So langsam dreh ich hier am Rad. Cocoa-Oberflächen über Objective-C++ für C++-Programme zu schreiben ist grausam...
:-Dja, C++ ist grausam.
Das würde auch ich (fast) nicht so genau sagen.
1. Du weißt nicht, was sich dahinter verbirgt. Wozu auch? Don't try the Kapsel.
:-D
Aber wir hatten uns nunmal vorgenommen, plattformunabhaengig zu schreiben, weswegen wir um C++ nicht herum kommen...
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.