해야 할 일 : 입력 된 문자열 그룹에 모든 숫자를 가져오고 새 문자가 NSMutableString 번호에 추가 될 때마다 출력하십시오. 그런 다음 현재 char이 숫자가 아니면 + 또는 x 또는 *, -. 그것들 중 하나라면 배열에 추가하고 그것을 출력합니다.숫자 대신 중국어 문자 출력? 목표 C
무엇의 행함 : 중국어
`Please enter math: 12+56x45
2012-05-02 23:52:06.538 CALC[1921:403] 퀱
2012-05-02 23:52:06.541 CALC[1921:403] 퀱퀲
2012-05-02 23:52:06.542 CALC[1921:403] running array (
"+"
)
2012-05-02 23:52:06.543 CALC[1921:403] 퀱퀲퀵
2012-05-02 23:52:06.544 CALC[1921:403] 퀱퀲퀵퀶
2012-05-02 23:52:06.544 CALC[1921:403] 퀱퀲퀵퀶큸
2012-05-02 23:52:06.545 CALC[1921:403] 퀱퀲퀵퀶큸퀴
2012-05-02 23:52:06.546 CALC[1921:403] 퀱퀲퀵퀶큸퀴퀵`
문제를 출력하기 : 나는 내가 그것을 제대로 작동 else if
부분없이 코드를 실행하면 그러나 unichar에 char current = [InputString characterAtIndex:i];
과 관련이있다 생각합니다. 문자열의 일부인 문자 수가 예상되는 숫자 임에도 불구하고 잘못된 언어로 표시되는 것으로 보입니다.
내 코드 :
int main()
{
char userInput[99];
NSMutableString *number = [NSMutableString string];
int i;
printf("Please enter math: ");
scanf("%s", userInput);
fpurge(stdin);
NSString *InputString = [NSString stringWithUTF8String:userInput];
NSMutableArray *broken = [NSMutableArray array];
for (i=0; i < [InputString length]; i++) {
char current = [InputString characterAtIndex:i];
NSString *cur = [NSString stringWithFormat:@"%c" , current];
if (isalnum(current)) {
[number appendString:[NSString stringWithCharacters:¤t length:1]];
NSLog(@"%@", number);
}
else if (current == '+'|| current == 'x'||current == '*'||current == '-') {
[broken addObject:[NSString stringWithFormat:cur]];
NSLog(@"running array %@", broken);
}
}
return 0;
}
사실 한국어 한글은 중국어가 아닙니다. http://unicode-table.com/en/D036/ –