Sono stato in grado di trovare metodi come -[NSString stringWithCString:encoding:]
ma non sembrano funzionare bene quando la cstring è un puntatore.Come si converte la cstring in NSString?
risposta
Per prima cosa, non utilizzare initWithCString
, è stato deprecato.
paio di modi si può fare questo:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];
Se avete bisogno di un'altra codifica come ASCII:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
Se volete vedere tutte le codifiche stringa disponibili, in Xcode, tenere comando + opzione quindi fare doppio clic su su NSASCIIStringEncoding
nel precedente blocco di codice.
Si sarà in grado di vedere dove Apple ha dichiarato la propria enumerazione per i tipi di codifica delle stringhe. Bit più veloce di cercare di trovarlo nella documentazione.
alcuni altri potrebbe essere necessario:
NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding
Cassa di Apple NSString Class Reference (codifiche sono in fondo alla pagina)
stringWithCString:encoding:
crea un NSString da una determinata stringa C. Per creare una stringa C da una NSString, utilizzare il metodo UTF8String
(generalmente preferito) o cStringUsingEncoding:
(se è necessaria una codifica diversa da UTF-8).
Poiché il metodo cString è deprecato, questa risposta è migliore di quella accettata. –
sì mio male, ho risolto questo ora –
Con moderno Objective-C (dal Xcode 5 almeno) si può solo do:
char const* cString = "Hello";
NSString *myNSString = @(cString);
- 1. Come convertire nsstring in cString?
- 2. Come si converte un CString in doppio in C++?
- 3. Come si converte NSString in NSData?
- 4. Come si converte da NSString a NSDate?
- 5. Come si converte la stringa in formato Money indiano?
- 6. Come si converte la sintassi Mathematica in lattice?
- 7. Come si converte Double [] in double []?
- 8. Come si converte un'immagine base64?
- 9. Come si converte LPCWSTR in const char *?
- 10. Come si converte SYS_GUID() in varchar?
- 11. Come si converte LF in CRLF?
- 12. Come si converte cdt in makefile?
- 13. Come si divide NSString in componenti?
- 14. Come sostituire solo la prima occorrenza di carattere in CString?
- 15. Come prevenire C6284 quando si utilizza CString :: Format?
- 16. Converti MFC CString in intero
- 17. Converti CString in const char *
- 18. Si consiglia di usare cstdio, cstring, cmath, ecc. In C++?
- 19. C++ CString equivalente in C#
- 20. Come si converte un colore in un pennello in XAML?
- 21. Come ottenere la dimensione NSString quando NSString include emoji?
- 22. Come si converte una stringa in un char * in C++?
- 23. In Swift, come si converte una stringa in Int64?
- 24. Come si converte una stringa in una rappresentazione in minuscolo?
- 25. Come si converte un valore JSONB in booleano in Postgresql?
- 26. In Golang come si converte una fetta in una matrice
- 27. Come si converte Int/Decimal in float in C#?
- 28. Come si converte un oggetto datetime.date in datetime.datetime in python?
- 29. Come si converte una stringa in byte in C#?
- 30. Come si converte un InputStream in una stringa in Java?
Funzionano perfettamente con i puntatori, è necessario essere più descrittivi sui problemi che si affrontano. – codelogic
Inoltre, le stringhe * all * C sono puntatori. Questa è la definizione di una stringa C: un puntatore ad alcuni caratteri. –
In realtà penso che stai parlando di convertire CString in NSString :) –