91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++中怎么同時讀取多個文件

c++
小億
164
2024-04-15 18:16:12
欄目: 編程語言

在C++中同時讀取多個文件,可以使用多線程或者多進程來實現。以下是使用多線程的示例代碼:

#include <iostream>
#include <fstream>
#include <vector>
#include <thread>

void read_file(const std::string& filename) {
    std::ifstream file(filename);
    if (file.is_open()) {
        std::string line;
        while (std::getline(file, line)) {
            std::cout << line << std::endl;
        }
    } else {
        std::cerr << "Error opening file: " << filename << std::endl;
    }
}

int main() {
    std::vector<std::string> filenames = {"file1.txt", "file2.txt", "file3.txt"};

    std::vector<std::thread> threads;
    for (const auto& filename : filenames) {
        threads.push_back(std::thread(read_file, filename));
    }

    for (auto& thread : threads) {
        thread.join();
    }

    return 0;
}

在上面的代碼中,我們定義了一個read_file函數用來讀取單個文件的內容,然后在main函數中創建了多個線程來同時讀取多個文件。每個線程負責讀取一個文件,最后等待所有線程執行完成。

需要注意的是,多線程讀取文件時要注意文件的互斥訪問,可以使用互斥鎖或者其他同步機制來保證文件的讀取不會發生沖突。

0
吉隆县| 晋城| 忻城县| 惠东县| 启东市| 衡东县| 宁陵县| 且末县| 马山县| 唐海县| 正阳县| 油尖旺区| 宜丰县| 桐梓县| 衡水市| 中牟县| 雷波县| 昔阳县| 葫芦岛市| 确山县| 鹤峰县| 襄樊市| 郁南县| 和田市| 秦安县| 瓮安县| 凤冈县| 菏泽市| 桦甸市| 息烽县| 浦江县| 突泉县| 开江县| 淄博市| 沙湾县| 开封市| 东乌| 仪征市| 岗巴县| 惠安县| 凤冈县|