【发布时间】:2013-09-24 00:44:37
【问题描述】:
我的程序应该能够创建新结构并将它们存储在一个数组中,但是用于存储和显示姿势难度的命令。
- 要在数组中创建一个新的变量结构,用户输入“set varname varcontents
- 要显示变量的内容,用户输入“set varname”
- 要显示所有变量,用户输入“set”
我不太清楚如何检查是否有多个字符串(“set”“varname”“varcontents”)或者是否只有“set”
char command[2][5] = { "set", "clear"};
printf("prompt> ");
scanf("%s",inputString);
if(strncmp(inputString,command[0],5) == 0 )
{
//code to create new struct, display structs etc...
}
else if(strncmp(inputString,command[1],5) == 0 )
{
//code to clear struct
}
现在 if 循环只有在用户输入“set”时才会通过。 我可能可以先比较前几个字母,然后再进行全比较并减去前几个字符以生成新结构的名称,但这似乎太复杂了,必须有一个更简单的解决方案。
感谢任何帮助!
【问题讨论】:
-
在所需类型的 if 块中使用
malloc()/calloc() -
如果您首先使用
strtok之类的方式解析字符串,这会不会容易得多? -
提供更多您预期输入的示例。
标签: c arrays string input scanf