使用俩线程,打开两个行数相等文本文件,按行交替将文件内容输入控制台C++代码
时间: 2024-03-03 08:48:20 浏览: 81
好的,下面是示例代码,其中假设文件路径已经确定:
```C++
#include <iostream>
#include <fstream>
#include <thread>
void printFileContent(const std::string& filePath) {
std::ifstream file(filePath); // 打开文件
std::string line;
while (std::getline(file, line)) {
std::cout << line << std::endl; // 输出每行内容
}
file.close(); // 关闭文件
}
int main() {
// 创建两个线程,分别读取文件并交替输出
std::thread thread1(printFileContent, "file1.txt");
std::thread thread2(printFileContent, "file2.txt");
// 启动线程
thread1.join();
thread2.join();
return 0;
}
```
以上代码创建了两个线程,分别读取文件`file1.txt`和`file2.txt`的内容,并交替输出到控制台。其中使用`std::thread()`函数创建线程对象,第一个参数指定线程函数,后面的参数传递函数参数。最后使用`join()`函数等待线程执行完毕。在线程函数中,使用`std::ifstream`打开文件,`std::getline()`函数读取每行内容,并使用`std::cout`输出到控制台。注意,在使用完文件后需要使用`close()`函数关闭文件。
阅读全文