Нужно сделать старомодный ввод / вывод в Какао - PullRequest
0 голосов
/ 03 ноября 2008

Я новичок в Какао и мне нужно захватить ввод с помощью scanf, чтобы запустить программу, требующую ввода четырех переменных по одной за раз.

Есть ли какая-нибудь консоль, класс окна, холст, класс memo (как в delphi), который позволил бы мне сделать это.

Эрл Сенак

Ответы [ 5 ]

3 голосов
/ 03 ноября 2008

Вы можете использовать stdio с Objective C, которая является полным надмножеством C.

Если ваша программа запускается из командной строки, вы можете просто написать ее на C.

1 голос
/ 26 декабря 2010
NSString *password=@"rajan";
NSString *scanpass;
char currentpass[10];

NSLog(@"Enter your old password tp compare");
scanf("%s",currentpass);
scanpass = [NSString stringWithUTF8String:currentpass];
//if([password isEqualToString: @"rajan"])
if([password isEqualToString: scanpass])
    NSLog(@"Correct Password");
else 
    NSLog(@"Wrong Password");
1 голос
/ 03 ноября 2008

Objective C является просто расширением C, а Objective C ++ является расширением C ++. Вы можете использовать scanf, или, если хотите, можете использовать Objective C ++ (переименовать файлы реализации, чтобы они заканчивались на .mm) и использовать i ++reams C ++.

0 голосов
/ 03 ноября 2008

Objective-C - это просто набор расширений для C (а также библиотеки поддержки и API в libobjc), поэтому у вас есть доступ ко всему, что есть у любой другой программы на C. Так что просто используйте scanf.

Чтобы получить результаты в NSString, используйте +[NSString stringWithUTF8String:] или (менее вероятно) +[NSString stringWithCString:encoding:].

0 голосов
/ 03 ноября 2008

Вы можете использовать NSScanner для анализа ввода, но, как уже было сказано, вы используете стандартную библиотеку C для взаимодействия со stdin / stdout. Я бы использовал - [NSString initWithUTF8String:], чтобы получить преобразование из строки c в NSString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...