我是 Cocoa 的新手,需要使用 scanf 捕获输入来运行一个程序,该程序需要一次输入四个变量。
是否有任何控制台、窗口类、画布、备忘录类(如在 delphi 中)可以让我这样做。
塞纳克伯爵
您可以将 stdio 与 Objective C 一起使用,它是 C 的完整超集。
如果您的程序从命令行运行,您可以只用 C 编写它。
Objective C 只是 C 的扩展,Objective C++ 是 C++ 的扩展。您可以使用 scanf,或者如果您愿意,也可以使用 Objective C++(将实现文件重命名为以 .mm 结尾)并使用 C++ iostreams。
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");
您可以使用NSScanner来解析输入,但正如已经说过的,您使用 C 标准库与 stdin/stdout 进行交互。我会使用 -[NSString initWithUTF8String:] 来获得从 c 字符串到 NSString 的转换。
Objective-C 只是 C 的一组扩展(以及 libobjc 中的支持库和 API),因此您可以访问任何其他 C 程序所拥有的一切。所以,只需使用scanf
.
要将结果放入 中NSString
,请使用+[NSString stringWithUTF8String:]
或(不太可能)+[NSString stringWithCString:encoding:]
。