C.遇到了一个小问题,限制自己使用简单的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"));
}
现在,如果用户查询时输入“退出”到终端,并点击进入,如果将用于检测“退出”永远不会被运行。有任何想法吗?
感谢,
编辑:我commiting与git,因为我去,所以目前的版本可以在github.com/samheather/octo-os找到。这显然不是完整的代码,但它表明了问题。
为什么每个人都低估我的问题?这对你们来说可能是显而易见的,但是这个东西在这个低级别上对我来说有点新,而且这个问题并不是很糟糕,在网上找到关于char数组指针的答案并不容易(相信我,我试过了 - 谷歌用相同的关键字抛出各种其他东西)。 –
@TimCooper,可能我没有想到这个bug,但并不完全,因为这里也有指针问题。 –