在通過UTF8string方法將其從NSString轉換爲字符串後,是否可以替換字符?替換cstring中的字符 - 獲取錯誤
例如,拿下面的代碼。它是用特定的規則格式化一個字符串。
- (NSString *)formatString:(NSString *)input {
if (input.length==0) {
return @"";
}
//code to determine rule
....
....
// substitute output format with input characters
if (rule) {
input = [input substringFromIndex:prefix.length];
char *string = (char *)[rule UTF8String];
int repCount = 0;
for (int i=0; i<rule.length; i++) {
if (string[i] == '#') {
if (repCount < input.length)
string[i] = [input characterAtIndex:repCount++];//bad access
else
string[i] = ' ';
}
}
NSMutableString *output = [NSMutableString stringWithCString:string encoding:NSUTF8StringEncoding];
...
... //do something with the output
return output;
} else {
return input;
}
}
最初string [0]具有'#',它應該被輸入中的字符替換。這沒有發生。
您能否提供您使用的規則前綴和輸入示例? –
我真的很抱歉,因爲我不能這樣做,它的私人:-) – thandasoru