【问题标题】:string to char array字符串到字符数组
【发布时间】:2011-12-09 01:09:45
【问题描述】:

我有类似的东西:

NSString *str = "hello this is 123.";

我希望将它放入一个 char 数组中,这样我就可以逐个字符地读取它。

所以它会是这样的:

charArray[0] = 'h'
charArray[1] = 'e'
charArray[2] = 'l'

等等..

如何将字符串转换为 char 数组以及如何读取 char 数组的每个单元格?

【问题讨论】:

    标签: objective-c arrays string char


    【解决方案1】:

    试试这样,注意它是一个大写的 C,这真的把我搞砸了特殊字符。

    NSMutableArray *array = [NSMutableArray array];
    for (int i = 0; i < [string length]; i++) {
        [array addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
    }
    

    【讨论】:

    • 这正是我正在寻找的。谢谢!
    【解决方案2】:
    NSString *s = @"hello this is 123.";
    const char *c = [s UTF8String];
    

    如果您的字符串使用 UTF-8 以外的其他编码,您也可以使用 -[NSString cStringUsingEncoding:]。

    【讨论】:

    • 如何打印每个单元格以输出?寻找类似的东西: NSLog(@"the 1st char is %@", char[0]);但它不起作用。
    【解决方案3】:

    Nsstring 可能包含不适合 char 的 utf 8 或 utf 16 字符,因此访问底层 char 数组可能是个坏主意。

    如果你不想,你可以使用 characterAtIndex 消息来访问给定的字符并遍历字符串。

    【讨论】:

    • 我会这样做,而不是假设。
    猜你喜欢
    • 2013-04-15
    • 2014-10-24
    • 2015-04-16
    • 1970-01-01
    • 2016-11-29
    • 2012-06-14
    • 2018-08-10
    • 2012-04-20
    • 2016-06-11
    相关资源
    最近更新 更多