c++ 按行读取文件 判定读入的字符串是否包含另外一个字符串的值,如果包含就将该字符串存入到另外一个文件中
时间: 2024-03-23 09:37:17 浏览: 63
在 C++ 中,可以使用 `std::ifstream` 类来读取文件,并使用 `std::ofstream` 类来写入文件。按行读取可以使用 `std::getline()` 函数。判断字符串是否包含另一个字符串可以使用 `std::string::find()` 函数。代码如下所示:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream inFile("input.txt");
std::ofstream outFile("output.txt");
std::string line;
while (std::getline(inFile, line)) {
if (line.find("target") != std::string::npos) {
outFile << line << std::endl;
}
}
inFile.close();
outFile.close();
return 0;
}
```
其中,`input.txt` 是要读取的文件名,`output.txt` 是要写入的文件名。`std::getline()` 函数每次读取一行,并将其存储在 `line` 变量中,直到文件结束为止。在循环中,使用 `std::string::find()` 函数判断 `line` 中是否包含目标字符串 `"target"`,如果包含则将其写入到输出文件中。最后需要记得关闭输入和输出文件。
阅读全文