如何将sadgan [1]附加到我的测试字符串中?

时间:2010-07-30 23:13:31

标签: objective-c

我有一个 const char * sadgan [4] = {“yeksad”,“devist”,“sisad”,“chaharsad”,“pansad”}; 我如何附加一个sadgan [1]来测试目标c?

    NSString *myString =@"";
    NSString *test = [myString stringByAppendingString:sadgan[1]];
    NSLog(@"% ? " ,test);

我想写yeksad o devist o sisad o ...

6 个答案:

答案 0 :(得分:1)

将C Sting转换为NSString:

NSString *myNSString = [NSString stringWithUTF8String:cString];

然后追加。

答案 1 :(得分:1)

char*NSString不会自动相互转换。如果您使用Objective-C,请使用NSString,除非您使用的某些库强制您使用。 "abc"char*@"abc"NSString

NSArray* sagdan=[NSArray arrayWithObjects:@"yeksad",@"devist",@"sisad",@"chaharsad",@"pansad",nil];
NSString *test = [myString stringByAppendingString:[sagdan objectAtIndex:4]];

将完成这项工作。

顺便问一下,你用的语言是什么? dev for 2,chahar for 4 and pan for 5 sound in indo-European language ...

答案 2 :(得分:0)

Objective-C的偏离主题,但C:

的主题 * sadgan [4] = {“yeksad”,“devist”,“sisad”,“chaharsad”,“pansad”};

我不懂这种语言,但我无能为力:1:yeksad,2:devist,3:sisad,4:chaharsad,5:pansad。您认为哪一个会被数组下移,能够容纳4个值?

问候

答案 3 :(得分:0)

@ objective感兴趣的人:

在c:

  const char * array_1[4]={"one","two","tree","four","five"};
  printf("%s",array_1[4]) //output= five
在objective_c中的

:`

 NSString *mystring=@"";

 NSArray* array_1=[NSArray arrayWithObjects:@"one",@"two",@"tree",@"four",@"five",nil];

 NSString *test = [mystring stringByAppendingString:[array_1 objectAtIndex:4]];  

 NSLog(@"%@",test);     //output =five

答案 4 :(得分:0)

@aden:当然,数组数据放在堆中。这是以通常的方式完成的,所以你可以接受它。但它不安全:它取决于方式,编译器实际上处理这些事情。并且:如果数组不在堆上怎么办?也许在堆栈上?是的,在大多数情况下,这将是一个坏主意,但它仍然是一个想法。

一个真正糟糕的想法是认为“这只是工作,所以不要担心”。不要做出不必要的假设。

问候

答案 5 :(得分:0)

@aden:“为什么?在c数组范围内是(0 .. 4)= 5“ - 看起来你应该先在C中学到一些课程吗? something array[value];正在保留内存空间。 值的空间“某事”。你只知道,索引从0开始。所以试试看:如果第一个元素被称为0,那么如果有 value 元素,那么最后一个元素的索引是什么?

问候