C++中getline逐行读取数据逃过空行
时间: 2024-08-13 20:10:21 浏览: 90
使用ifstream和getline读取文件内容[c++]
5星 · 资源好评率100%
在C++中,`getline()` 函数用于从输入流(如`cin`)逐行读取字符串,包括空格和换行符。如果你想跳过空行(即只处理非空白字符组成的行),可以在读取每一行后检查该行是否为空。通常,我们会在循环中使用`getline()`,然后检查`std::string`对象的内容。
以下是一个简单的例子:
```cpp
#include <iostream>
#include <string>
int main() {
std::string line;
std::ifstream inFile("input.txt"); // 假设有一个名为input.txt的文件
while (std::getline(inFile, line)) { // 循环读取每一行
if (!line.empty()) { // 如果行不为空
// 处理当前非空行
std::cout << "Read line: " << line << "\n";
}
}
inFile.close(); // 关闭文件句柄
return 0;
}
```
在这个示例中,如果`getline()`成功读取到一行并且该行内容不是空字符串(`empty()`为`false`),就会处理这一行的数据。这样就可以避免处理空行了。
阅读全文