char buf[BUF_SIZE + 1];
printf("[Enter Command]: \n");
num_read = read(STDIN_FILENO, buf, BUF_SIZE);
if (num_read == 5) {
exit(0);
}
我想检查用户输入是否为字符串"exit"
,如果是,则退出程序。上面的代码段有效,但它会在所有4个字母的字符串上退出。我只希望它退出字符串"exit"
。
我不明白为什么下面的代码不起作用:
if (strcmp("exit", buf) == 0) {
exit(0);
}
答案 0 :(得分:0)
由于strcmp()
不是0终止输入,read()
没有工作,所以它没有进行字符串输入。
使用例如fgets()
读取一整行,然后检查它是否以exit
开头(请记住它将包含换行符)。