ورود

View Full Version : سوال: serialize و deserialize ؟



vb8334
چهارشنبه 22 شهریور 1391, 15:23 عصر
سلام

دوستان من دارم یه کدی می نویسم که این کار رو قراره انجام بده

مثلآ :alisadri23

میدیم به کلاس Pesronserializer

و اونم به این شکل باید تبدیل کنه ali,sadri,23

یعنی serialize بشه

توی deserialize هم باید ali,sadri,23 به object تبدیل بشه اینو منظورش رو متوجه نمیشم
میشه یه مثال بزنید؟

کدی که نوشتم فقط ساختارش رو نوشتم

#include <iostream>
#include "Person.h"
#include "PersonSerializer.h"
using namespace std;

int main()
{

Person *p=new Person();
p->Id=1;
p->FirstName="behnam";
p->LaststName="farhadi";
p->Age=21;

p->Id=2;
p->FirstName="asghar";
p->LaststName="farhadi";
p->Age=35;

PersonSerializer *ps;

ps->Serialize(p);
return 0;
}


#ifndef PERSON_H_INCLUDED
#define PERSON_H_INCLUDED

using namespace std;
class Person
{
public:
int Id;
string FirstName;
string LaststName;
int Age;


};

#endif // PERSON_H_INCLUDED



#ifndef PERSONSERIALIZER_H_INCLUDED
#define PERSONSERIALIZER_H_INCLUDED
#include "Person.h"

using namespace std;
class PersonSerializer
{

public:
string Serialize(Person *P);
Person *Deserialize(string P);


};

string PersonSerializer::Serialize(Person *P)
{







}



#endif // PERSONSERIALIZER_H_INCLUDED



مشکلم اینجاست که چطوری alisadir23
رو به ali,sadri,23 این ویرگول ها رو بینشون چجوری بزارم و چجوری عدد رو به رشته و برعکس انجام بدم مثلآ 23 بشه "23" نه bist o seh

به این دلیل که تابع ما رشته میپذیره نه int که من میخوام تبدیل کنم .

مرسی

FastCode
چهارشنبه 22 شهریور 1391, 20:44 عصر
برای اینکه برنامه شما تشخیص بده یک نوشته کجا شروع میشه و کجا تموم میشه باید از یک یا چند Escape Character (نه Scape, فرق داره) استفاده کنید که بستگی به پیچیدگی کارتون داره
برای شما یک کافیه.مثلاً Slash /
یعنی اگر داشتید
1
ali
abbasi
22
میشه
1,ali,abbasi,22

اگر داشته باشید
1
a/li
abb,asi
2//2
میشه
1,a//li,abb/,asi,2////2

همین سوال
http://stackoverflow.com/questions/415515/how-can-i-read-and-manipulate-csv-file-data-in-c

Escape Sequence در ویکیپدیا
http://en.wikipedia.org/wiki/Escape_sequence

Escape Sequence های C در ویکیپدیا
http://en.wikipedia.org/wiki/Escape_Sequences_in_C

Implementation
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/6a12570b-df26-4736-9f32-60c8b0ccc281/

مطالب مرتبط
http://stackoverflow.com/questions/381592/implementing-parser-for-escape-sequences
http://stackoverflow.com/questions/234724/how-to-serialize-in-c