21xrx.com
2025-02-16 22:14:05 Sunday
登录
文章检索 我的文章 写文章
C++如何判断是否有输入?
2023-06-22 09:42:23 深夜i     --     --
C++ 判断 输入 函数 流对象

在C++编程中,我们经常需要判断用户是否输入了数据。这个问题的解决方法并不难,我们可以使用C++的输入流提供的函数来判断是否有输入。下面将介绍几种常用的判断输入的方法。

1.使用peek()函数

peek() 函数可以获取输入流中下一个字符,但不会消耗输入,也就是说这个字符会继续留在输入流中。

可以使用peek()函数来判断输入流中是否还有数据,如果有数据则返回一个int类型的值,表示下一个字符的ASCII码值,如果没有数据则返回-1。

使用peek()函数的示例代码如下:


#include <iostream>

using namespace std;

int main()

{

  int c = cin.peek();

  if(c == -1)

    cout << "输入流为空" << endl;

  else

    cout << "输入流非空" << endl;

  return 0;

}

2.使用eof()函数

eof()函数用于检查输入流是否到达文件末尾,如果到达文件末尾,则返回true,否则返回false。

使用eof()函数的示例代码如下:


#include <iostream>

using namespace std;

int main()

{

  while(!cin.eof())

  {

    int value;

    cin >> value;

    if(cin.fail())

    

      cout << "输入流已经结束" << endl;

      break;

    

    cout << value << endl;

  }

  return 0;

}

3.使用getline()函数

getline()函数用于一次性读取整行数据,可以通过判断读入的字符串是否为空来判断输入是否结束。

使用getline()函数的示例代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string line;

  while(getline(cin, line))

  {

    if(line.empty())

      break;

    cout << line << endl;

  }

  return 0;

}

总之,以上几种方法都可以实现判断C++输入流是否为空,开发者可以根据具体的场景选择合适的方法。同时,在读取用户输入时,我们也应该注意处理输入错误的情况,避免程序异常退出。

  
  

评论区

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