【发布时间】:2013-09-04 00:22:08
【问题描述】:
如何在不使用fgets()或gets()的情况下在C语言中scanf()完整句子
我想扫描用户的命令行并根据第一个单词识别命令。 例如: mkdir
所以我需要认识到用户想要创建一个名为“dir_name”的新目录。
我的代码:
int main(){
char *ch=malloc(sizeof("50");
while (strcmp(ch,"exit")!=0){
scanf("%[^\n]",ch);
}
当我在输入第一句话并按回车后运行此代码时,它进入了无限循环,我不知道为什么?
【问题讨论】:
-
你为什么不想使用
fgets?使用它读取整行然后sscanf稍后解析行听起来更容易。