Когда я жестко кодирую эту строку и пытаюсь подстроитьWithRange, она работает нормально. Но когда я беру ввод пользователя как символ и передаю его в NSString, он генерирует исключение NSRange. Это потому, что я бросаю чар?substringWithRange работает с жестко закодированной строкой, но не с пользовательской строкой
Это не работает:
char word[30];
NSString *otherWord = [NSString stringWithFormat:@"%s", word];
scanf("%s", word);
NSString *firstCharacter = [otherWord substringWithRange:NSMakeRange(0, 3)];
Однако, это делает:
char word[30];
NSString *otherWord = @"SomeString";
scanf("%s", word);
NSString *firstCharacter = [otherWord substringWithRange:NSMakeRange(0, 3)];
Я также проверил, чтобы убедиться, что "otherWord" имеет правильное значение, которое он делает.
Любые предложения?
Вы бросаете в 'NSString' первый затем читает пользовательский ввод. 'NSString * otherWord = [NSString stringWithFormat: @"% s ", word]; scanf ("% s", word); ' –