21xrx.com
2025-04-02 18:57:30 Wednesday
文章检索 我的文章 写文章
C++如何判断空行
2023-07-06 06:02:00 深夜i     34     0
C++ 空行 判断

在C++中,空行是指在文本文件中没有任何字符或只包含空格的行。在对文本文件进行处理时,经常需要判断文本文件中哪些行是空行,以便于进行相应的操作。下面介绍几种判断空行的方法。

方法一:使用getline函数

使用getline函数可以逐行读取文件内容,然后判断该行是否为空行。具体实现代码如下:

#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main()
{
  ifstream infile("file.txt"); //打开文件
  string line;
  while (getline(infile, line)) //逐行读取文件内容
  {
    if (line.empty()) //判断是否为空行
      cout << "该行为空行" << endl;
    else
      cout << "该行内容为:" << line << endl;
  }
  infile.close(); //关闭文件
  return 0;
}

方法二:使用cin函数

使用cin函数也可以逐行读取文件内容,然后判断该行是否为空行。具体实现代码如下:

#include<fstream>
#include<iostream>
using namespace std;
int main()
{
  ifstream infile("file.txt"); //打开文件
  char ch;
  while (!infile.eof()) //如果没有到文件结尾
  {
    ch = infile.get(); //从文件中读取字符
    if (ch == '\n') //判断是否为空行
      cout << "该行为空行" << endl;
  }
  infile.close(); //关闭文件
  return 0;
}

方法三:使用getline和isspace函数

使用getline函数读取文件内容,然后使用isspace函数判断该行是否为空行。具体实现代码如下:

#include<fstream>
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
  ifstream infile("file.txt"); //打开文件
  string line;
  while (getline(infile, line)) //逐行读取文件内容
  {
    bool flag = true;
    for (int i = 0; i < line.size(); i++) //遍历该行所有字符
    {
      if (!isspace(line[i])) //如果该行不是空白符,则该行不为空行
      
        flag = false;
        break;
      
    }
    if (flag) //判断该行是否为空行
      cout << "该行为空行" << endl;
    else
      cout << "该行内容为:" << line << endl;
  }
  infile.close(); //关闭文件
  return 0;
}

以上是三种C++判断空行的方法,根据实际情况选择合适的方法进行处理。无论使用哪种方法,都需要注意文件是否存在以及是否打开成功,以免引发程序崩溃。

  
  

评论区