我想使用以下代码来反转objective-c中的char *类型字符串:
- (char *)reverseString:(char *)aString
{
unsigned long length = strlen(aString);
int end = length - 1;
int start = 0;
while (start < end) {
aString[start] ^= aString[end];
aString[end] ^= aString[start];
aString[start] ^= aString[end];
++start;
--end;
}
return aString;
}
但我在这一行收到错误 EXC_BAD_ACCESS
aString[start] ^= aString[end]
我用谷歌搜索,发现人们说我不能修改文字字符串,因为它是只读的。我是 C 新手,所以我想知道在这个例子中我可以使用什么简单的数据类型(无对象)?当我使用 (char []) aString 替换 (char *) aString 时,我得到了同样的错误。