如何将小写字符转换为大写?

问题描述:

unichar c; 

c = [myString characterAtIndex:0]; 

unichar catchcar = [c lowercaseString]; 

错误:无效的接收器类型unicar。我知道lowercaseString是用来隐藏String不是字符。有没有解决方法?如何将小写字符转换为大写?

+1

你为什么不只是使字符串小写从中检索字符前? – Neutralizer 2010-08-25 15:35:03

+0

@Ashraf,我做了,它的工作原理。 – user426795 2010-08-25 15:52:07

,你可以做到以下几点:

unichar catchcar = [[myString lowercaseString] characterAtIndex: 0]; 

如果你只有一个字符,请执行以下操作:

// given unichar c 

unichar catchcar = [[[NSString stringWithCharacters:&c length:1] lowercaseString] characterAtIndex: 0]; 
+0

fileName = [[NSBundle mainBundle] pathForResource:catchar ofType:@“txt”];正在抛出一个错误。我正在将catchar传递给文件名。 – user426795 2010-08-25 15:50:59

+0

@ user426795 - 你为什么要将unichar传递给一个需要NSString的方法?在这种情况下只需使用NSString。 – 2010-08-25 17:18:12

unichar c = [[myString lowercaseString] characterAtIndex:0]; 

试试这个。

在单个字符上转换大小写的最简单方法是使用C函数tolowertoupper。使用从问题的代码示例和重写,会给这个转换为小写:

#import <ctype.h> 

unichar catchcar = tolower([myString characterAtIndex:0]); 

无需做任何NSString的API复杂。并且不需要首先将整个字符串变成小写字母。

希望这有助于

埃里克