需要在Cocoa中做老式的输入/输出

时间:2008-11-03 11:35:52

标签: cocoa input

我是Cocoa的新手,需要使用scanf捕获输入来运行需要一次输入四个变量的程序。

是否有任何控制台,窗口类,画布,备忘录类(如在delphi中)会让我这么做。

Earl Cenac

5 个答案:

答案 0 :(得分:3)

您可以将stdio与Objective C一起使用,这是C的完整超集。

如果您的程序从命令行运行,则可以用C语言编写。

答案 1 :(得分:1)

Objective C只是对C的扩展,Objective C ++是C ++的扩展。您可以使用scanf,或者如果您愿意,可以使用Objective C ++(将实现文件重命名为以.mm结尾)并使用C ++ iostream。

答案 2 :(得分:1)

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");

答案 3 :(得分:0)

您可以使用NSScanner来解析输入,但正如已经说过的那样,您使用C标准库与stdin / stdout进行交互。我使用 - [NSString initWithUTF8String:]来获得从c string到NSString的转换。

答案 4 :(得分:0)

Objective-C只是C的一组扩展(以及libobjc中的支持库和API),因此您可以访问任何其他C程序所具有的所有内容。所以,只需使用scanf

要将结果转换为NSString,请使用+[NSString stringWithUTF8String:]或(不太可能)+[NSString stringWithCString:encoding:]