C有一个小问题。将自己限制在简单的C(即操作系统指令)上,两个字符串似乎不一样。这是我的代码:
char inputData[256];
int rid;
rid = read(0,inputData,256);
// Strip input
char command[rid];
int i;
for (i = 0; i<=rid-2; i++) {
command[i] = inputData[i];
}
command[rid-1] = '\0';
if (command == "exit") {
write(1,"exit",sizeof("exit"));
}
现在,如果用户在查询时在终端中输入“exit”并按回车,则用于检测“exit”的 if 永远不会运行。有任何想法吗?
谢谢,
编辑:我正在承诺使用 git,因此可以在 github.com/samheather/octo-os 找到当前版本。这显然不是完整的代码,但它说明了问题。