扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

c++搴忓垪鍖栧拰鍙嶅簭鍒楀寲鎬庝箞杩愮敤

扬州沐宇科技
2023-11-09 01:04:58
c++

C++涓殑搴忓垪鍖栧拰鍙嶅簭鍒楀寲鍙互鐢ㄤ簬灏嗗璞$殑鐘舵€佷互瀛楄妭娴佺殑褰㈠紡淇濆瓨鍒版枃浠舵垨鏁版嵁搴撲腑锛岀劧鍚庡湪闇€瑕佹椂閲嶆柊璇诲彇骞舵仮澶嶅璞$殑鐘舵€併€?/p>

浠ヤ笅鏄竴涓ず渚嬶紝婕旂ず浜嗗浣曞湪C++涓娇鐢ㄥ簭鍒楀寲鍜屽弽搴忓垪鍖栵細

#include <iostream>
#include <fstream>
#include <sstream>

class Student {
private:
    std::string name;
    int age;
public:
    Student(const std::string& name, int age) : name(name), age(age) {}

    std::string getName() const {
        return name;
    }

    int getAge() const {
        return age;
    }

    // 搴忓垪鍖栧璞?/span>
    std::string serialize() const {
        std::stringstream ss;
        ss << name << "," << age;
        return ss.str();
    }

    // 鍙嶅簭鍒楀寲瀵硅薄
    static Student deserialize(const std::string& data) {
        std::stringstream ss(data);
        std::string name;
        int age;
        std::getline(ss, name, ',');
        ss >> age;
        return Student(name, age);
    }
};

int main() {
    // 鍒涘缓涓€涓鐢熷璞?/span>
    Student student("Alice", 20);

    // 搴忓垪鍖栧璞″苟淇濆瓨鍒版枃浠?/span>
    std::string serializedData = student.serialize();
    std::ofstream file("student.txt");
    file << serializedData;
    file.close();

    // 浠庢枃浠朵腑璇诲彇鏁版嵁骞跺弽搴忓垪鍖栦负瀵硅薄
    std::ifstream readFile("student.txt");
    std::stringstream buffer;
    buffer << readFile.rdbuf();
    std::string fileData = buffer.str();
    readFile.close();

    Student deserializedStudent = Student::deserialize(fileData);

    std::cout << "Name: " << deserializedStudent.getName() << std::endl;
    std::cout << "Age: " << deserializedStudent.getAge() << std::endl;

    return 0;
}

杩愯涓婅堪浠g爜锛屽皢浼氳緭鍑哄弽搴忓垪鍖栧悗鐨勫鐢熷璞$殑鍚嶇О鍜屽勾榫勩€?/p>

杩欏彧鏄竴涓畝鍗曠殑绀轰緥锛屽疄闄呭簲鐢ㄤ腑鍙兘闇€瑕佹洿澶嶆潅鐨勫簭鍒楀寲鍜屽弽搴忓垪鍖栨搷浣滐紝渚嬪澶勭悊瀵硅薄鐨勭户鎵垮叧绯汇€佸簭鍒楀寲宓屽瀵硅薄绛夈€?/p>

扫码添加客服微信