21xrx.com
2024-09-20 05:46:43 Friday
登录
文章检索 我的文章 写文章
如何在C++中实现按回车只显示输出?
2023-06-28 20:00:52 深夜i     --     --
C++ 按回车 输出 实现

在C++编程中,我们有时需要按回车键后才显示输出结果,这可以通过一些简单的代码实现。这种方法在输入密码等敏感信息时尤其有用,因为可以保护用户的隐私。

实现按回车只显示输出的方法如下:

首先我们需要引入C++标准库io.h或stdio.h,这些库提供了许多有用的函数来处理输入和输出。我们将使用标准库函数getchar()来读取回车键的输入,并使用标准库函数printf()来输出结果。

接下来,我们需要一个循环结构来控制输入。在循环内我们将使用getchar()函数来读取输入,并将输入存储在一个字符变量中。如果输入是回车键,则我们使用printf()函数来输出结果,并break退出循环。如果输入不是回车键,则我们将它存储在一个字符串中,以便稍后使用。

下面是一个示例代码,它可以实现按回车键只显示输出:

#include

#include

#include

int main()

{

  int count = 0;

  char str[100];

  char ch;

  printf("输入任意内容并按回车;输入空行回车退出\n");

  do {

    count = 0;

    ch = getchar();

    while (ch != '\n') {

      if (ch == EOF) return 0;

      str[count++] = ch;

      ch = getchar();

    }

    str[count] = '\0';

    if (strlen(str) == 0) break;

    printf("输入内容: %s\n", str);

  } while (1);

  return 0;

}

在上面的代码中,我们使用了一个do-while循环来实现输入。我们首先定义了一个计数器count和一个字符串变量str,用于存储输入的内容。然后我们使用getchar()函数来读取输入,直到遇到回车键为止。

我们使用一个while循环来读取输入,并将输入存储在一个字符串中。在读取完整个输入行之后,我们在字符串末尾添加一个空字符'\0',表示字符串的结尾。如果字符串的长度是0,则说明用户已经输入空行,我们使用break语句退出循环。

如果输入内容不是空行,则我们使用printf()函数来输出输入。在 fflush(stdin); 的场景下,会遇到输入后卡住的情况,此时我们可参考以下代码解决:

#ifdef __linux__

  setbuf(stdin, NULL);

#else

  fflush(stdin);

#endif

使用以上代码验证,即可实现按回车键只显示输出。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复