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>
相关问答