c - 在 C 中扫描两个字符以查找 switch case

标签 c string char switch-statement case

所以我正在为文本编辑器编写一个程序,并且设置了一个 switch 语句,以便当有人输入特定字符时它会调用一个函数。例如,如果他们输入“?”它将通过调用函数 help() 来显示帮助菜单,如下所示

scanf("%c", &choice);
switch(choice)
{
case '?':
help();

我的问题是某些选项有两个字符,例如要创建一个新文件,他们必须输入字符 NF。我将如何在案例中实现这一点?我需要 ” ”?还应该将选项扫描为字符串而不是字符吗?

case "NF":
newFile();

最佳答案

当您有一个字符时,您可以使用 switch 语句根据其值做出决定。因为它的实际值是一个单字节无符号整数。但这里有两个字符,不能使用 switch。 您必须使用 if..else..else..

if (!strcmp(choice, "NF")) {
    // deal with NF
} else if (!strcmp(size, "SomethingElse")) {
    // deal with it
} // and so on

关于c - 在 C 中扫描两个字符以查找 switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47544162/

相关文章:

c++ - 关于 'char' 的奇怪程序行为

c - 如何在 C 中将 char 连接到 char*?

c珠子排序需要帮助

C - 将最后一个设置为 NULL 时数组值消失

c - 如何取消引用 ASM 数据段中的指针?

string - Swift 无法使用类型为(名称 : String, String)的参数调用追加

python - 根据单词重复增加模型整数字段

c - C 中的简单连接

python - 正则表达式在另一个词之前添加字符(来自选择列表)

c++ - 为什么我的函数在应该返回 char 时返回垃圾?