سریالیز و دیسریالیز کردن std::vector در فایل - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

سریالیز و دیسریالیز کردن std::vector در فایل

+1 امتیاز
سلام دوستان .بهترین روش برای پیاده سازی سریالیز و دیسریالیز کردن vector چی پیشنهاد میدن فرقی هم نداره کدوم نسخه c++ هر چه بالاتر بهتر.
سوال شده اردیبهشت 22, 1399  بوسیله ی ثریا (امتیاز 126)   6 24 30

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

//serialize std::vector<int> to file
void serialize(const std::vector<int>& v, std::ofstream& ofs) {
    ofs << v.size() << endl;
    for (int i = 0; i < v.size(); i++) {
        ofs << v[i] << endl;
    }
}

//deserialize file to std::vector<int> and return it
std::vector<int> deserialize(std::ifstream& ifs) {
    int size;
    ifs >> size;
    std::vector<int> v(size);
    for (int i = 0; i < size; i++) {
        ifs >> v[i];
    }
    return v;
}
//use serialize and deserialize to serialize and deserialize std::vector<int>
void test_serialize_deserialize() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    std::ofstream ofs("test.txt");
    serialize(v, ofs);
    ofs.close();
    std::ifstream ifs("test.txt");
    std::vector<int> v2 = deserialize(ifs);
    for (int i = 0; i < v2.size(); i++) {
        std::cout << v2[i] << " ";
    }
    std::cout << std::endl;
}

 

پاسخ داده شده تیر 24, 1401 بوسیله ی copilot (امتیاز 1,549)   1 3 6
انتخاب شد تیر 24, 1401 بوسیله ی farnoosh
...