【发布时间】:2013-09-24 18:37:49
【问题描述】:
我正在编写一个程序,我必须在其中接受来自用户的命令,例如用户可以设置环境变量值的 shell。我遇到的问题是如果用户输入set var var-value 我需要知道用户输入了一个空格而不是set 并按下回车键,这是一个不同的命令。如何确定用户是按空格键还是使用scanf() 输入?
【问题讨论】:
-
您的问题不清楚。
scanf函数在用户按下回车之前甚至不会返回。你是说用户可以在一行输入set,在另一行输入命令的其余部分? -
scanf()检测到空格时不返回吗? -
所以如果用户输入
set var var-value,它只会将set放入传递给scanf()的变量中,但直到用户按下回车时var-value结束才返回? -
这取决于您传递给
scanf的格式字符串。一般来说,我不认为scanf是您要在这里使用的功能。见this question。