首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取用户输入(按enter键终止)

问获取用户输入(按enter键终止)
EN

Stack Overflow用户
提问于 2011-03-24 15:14:09
回答 4查看 7.5K关注 0票数 3

我使用scanf来获取用户输入,但如果我按回车键,光标将闪烁到下一行~如果我想要程序终止,我应该使用什么函数来代替scanf,如果用户只按回车键而不按任何键?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2011-03-24 15:21:07

Scanf一直读到下一个标记--它根本不关心换行符(只将它们视为空格,如空格或制表符)。

相反,可以使用像fgets这样的行读取函数。

票数 2
EN

Stack Overflow用户

发布于 2019-12-16 02:08:21

您可以这样使用get()函数:

代码语言:javascript
复制
#include <stdio.h>
#define MAX_INPUT_CHAR 100
int main( ) {

   char str[MAX_INPUT_CHAR ];

   printf( "Enter a value :");
   gets( str );   

   return 0;
}

函数char *get(char *s)将标准输入中的一行读入s指向的缓冲区,直到换行符终止或EOF (文件结束)

注意get()是不安全的。你现在不能预先知道它会读多少字符。这可能会导致一些安全问题,并最终崩溃。

票数 0
EN

Stack Overflow用户

发布于 2019-12-16 00:39:32

只需使用以下代码:

代码语言:javascript
复制
char ch;
printf("Enter Your Sentence \n");
while (1) 
{ 
     ch = getch();
     if ((int)ch == 13) 
         break;
     printf("%c", ch);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5415885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档