2009-03-02 9 views
7

Je veux ajouter quelques marques pour séparer certaines chaînes. Comment ajouter un caractère à une chaîne?Comment concaténer char et string sur iPhone?

par exemple. ajoutez "\ x01" à "Bonjour", ajoutez "\ x02" avant "Monde" et ajoutez "\ x03" après "Monde". Je peux donc créer une chaîne "\ x01 Hello \ x02 World \ x03" qui a des marques séparées.

Répondre

14

Si vous souhaitez modifier une chaîne, vous devez utiliser NSMutableString au lieu de NSString. Il n'y a pas un tel besoin si vous voulez créer une chaîne à partir de zéro.

Par exemple, vous pouvez utiliser +stringWithFormat: méthode:

NSString * myString = [NSString stringWithFormat:@"%c %@ %c %@ %c", 
               0x01, 
               @"Hello", 
               0x02, 
               @"World", 
               0x03]; 
+0

c'est le ticket;) –

2

Hm ..

Vous pourriez faire quelque chose comme ceci:

NSString *hello = @"hello"; 
char ch [] = {'\x01'}; 
hello = [hello stringByAppendingString:[NSString stringWithUTF8String:(char*)ch]]; 

Je fais un un char * à ajouter de votre seul omble chevalier et utiliser stringWithUTF8String pour l'ajouter.

Il y a probablement une façon moins longue de résoudre le problème!

Nick.

+0

'stringWithUTF8String' attend une chaîne de fin nulle, je crois, ce qui est pas ce que nous avons ici. –

2

Vous ne savez pas exactement ce que vous demandez ... Mais stringWithFormat pourrait-il vous aider?

par exemple,

[NSString stringWithFormat:@"%c%@%c%@%c", 1, @"hello", 2, @"world", 3];