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字符串。好的,它适用于完整的长文本游戏吗?假设我添加了类和类似的东西那个