我不想做的是创建一个终端菜单,它接受各种类型的参数并将其放入数组参数中。下面是代码:这是我遇到的一些麻烦,无法找到一个好的解决方案。创建带挑战的终端菜单
如果我只是键入'list'我会得到不是一个有效的命令,我必须键入“列表”(列表和空格)。 菜单选择新应该是这样的:新的“我的名字是你好”。 param [0] = new和param [1] =我的名字是hello,(母猪我可以用空格创建消息)。
我该如何做到这一点?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
int menu()
{
printf(">");
char line[LINE_MAX];
int i = 0;
char *param[4];
while(fgets(line, LINE_MAX, stdin) != NULL) {
param[i++] = strtok(line, " \n");
if(param[0] != NULL) {
char *argument;
while((argument = strtok(NULL, "\n")) != NULL) {
param[i++] = argument;
}
}
if(strcmp(param[0], "new") == 0) {
//new(param[1]);
menu();
} else if(strcmp(param[0], "list") == 0) {
//list();
menu();
} else {
printf("Not a valid command.\n\n");
menu();
}
}
return 0;
}
嗯现在它被编辑了... ...但如果它以某种方式与问题的原因有关呢? – 2010-11-18 11:28:11
你好..苏里,我的错,现在。我将这些函数注释掉了,你可以编译代码。 – user265767 2010-11-18 11:37:23
抱歉关于编辑。上面的程序存在许多问题(包括程序逻辑)并且改变这些注释是必要的。但与这个问题没有关系:在评论之前提出的问题是关于东西发育的问题。 – pmg 2010-11-18 11:37:52