C 如何设置字符串以执行函数或命令

C 如何设置字符串以执行函数或命令,c,C,我有一个基本问题要问你,因为这让我发疯。如何将函数写入特定字符串?比如,如果我正在创建一个while循环,并且希望程序结束,那么当我在请求输入时键入“end”时,我应该如何编写它以使程序本身结束 编辑:好的,我很容易就知道了如何通过键入“end”来结束我的函数,但是现在由于某种原因,根据我写的句子的数量,我的程序一直在重复 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(

我有一个基本问题要问你,因为这让我发疯。如何将函数写入特定字符串?比如,如果我正在创建一个while循环,并且希望程序结束,那么当我在请求输入时键入“end”时,我应该如何编写它以使程序本身结束

编辑:好的,我很容易就知道了如何通过键入“end”来结束我的函数,但是现在由于某种原因,根据我写的句子的数量,我的程序一直在重复

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void){
int i;
char buf[10];
printf("Command? ");
scanf("%s", buf);

while(buf != "end")
{
    if(strcmp(buf, "end")== 0){
        break;
    }

    switch( buf[i] ){
    //Where the cases will inevitably go
    default:
    puts("I'm sorry, but that's not a command.\n");
    break;
    }
    printf("Command? ");
    scanf("%s", buf);
}
puts("End of Program.");
getch();
}
#包括
#包括
#包括
内部主(空){
int i;
char-buf[10];
printf(“命令?”);
scanf(“%s”,buf);
而(buf!=“结束”)
{
如果(strcmp(buf,“end”)==0){
打破
}
开关(buf[i]){
//案件将不可避免地走向何方
违约:
puts(“对不起,这不是命令。\n”);
打破
}
printf(“命令?”);
scanf(“%s”,buf);
}
puts(“程序结束”);
getch();
}

将字符串与“end”进行比较,然后跳出循环或调用
exit
?尝试
strcmp
比较字符串。很抱歉,我是一个非常新的字符串,您能提供一个示例吗?我知道strcmp比较两个字符串,但这到底有什么关系呢?第一步是获取输入,然后将该输入与预期值进行比较(例如“end”),然后采取相应的行动。您是否完成了步骤1并获得了用户输入(可能使用
scanf
gets
?哦!我现在完全明白你的意思了!是的,我使用scanf是为了接收输入,但就是想不出strcmp的概念,它现在似乎非常有用。发生的是我的程序无法识别我的输入命令,所以我通过将我的输入与我的“结束”值,如果是,则关闭程序。谢谢!
char *myInputString = NULL;
while (1) {
    /* read in myInputString from user input, and test... */
    if (strcmp(myInputString, "foo") == 0)
        break;
}

return EXIT_SUCCESS;