Objective c 我可以用scanf处理字符串吗?
我无法使输入/输出正常工作。请帮忙 这是我的密码Objective c 我可以用scanf处理字符串吗?,objective-c,Objective C,我无法使输入/输出正常工作。请帮忙 这是我的密码 char choice1; printf("This is a text game! You will be shown what is going on"); printf("\nand it is up to you to decide what to do."); printf("\n\nThere is a gem on the ground."); printf("\nWhat do you
char choice1;
printf("This is a text game! You will be shown what is going on");
printf("\nand it is up to you to decide what to do.");
printf("\n\nThere is a gem on the ground.");
printf("\nWhat do you want to do");
printf("\n>");
scanf("%c", &choice1);
if (choice1 == pick up gem) {
printf("Got Gem");
}
%c
用于输入单个字符,而不是字符串。如果要允许用户输入多个字符,则需要以下内容:
char string[256];
fgets(string, 255, stdin);
if (strcmp(string, "pick up gem\n") == 0) {
printf("Got Gem");
}
顺便说一句,这不是客观的,这是客观的
如果用户输入的字符超过256个,就会发生不好的事情
更新:结果是
scanf
只获取输入的第一个字。使用fgets
阅读新行。“现在有人知道如何在objective-c中制作文本冒险游戏吗?”-有。什么是拾取gem
?你的主题行与你的问题没有多大关系。也许你需要取消输入的单词?拾取gem应该是用户应该输入的内容。我对目标c还不熟悉,我只是想学习它。我该如何修复代码?我该如何取消输入单词?删除它们?好的,谢谢,但这在objective-c中有效吗?我也试着用一个字符串作为输入,但我似乎找不到字符串的scanf%。你说的“字符串”是什么意思?像我在回答中使用的C字串(带有%s
)或Objective-C(真正的Cocoa)NSString
?是的,因为Objective-C是C的超集,所以这段代码在Objective-C中工作得很好("%接下来该怎么做。scanf
不适用于NSString
scanf
是一个C函数,它只适用于C数据类型,而不是像NSString
这样的类。我在回答中发布的内容将适用于基本的C字符串。好的,它适用于完整的长文本游戏吗?假设我添加了类和类似的东西那个