dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Aug 2, 2001

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Serializing and Deserializing Arrays


Suppose you want to store the movements of a chess game in a file so that when the program terminates, the users can resume it later from the same point. To enable this you need to store an array that contains each player's movements in a file, for example:
 
for(int i=0; i <n;++i)
 mystream<<arr[n]; // serialize array

However, this approach is problematic because a program that reads from the file can't tell in advance how many elements exist in the stored array. A better solution is to write the number of elements before the first array element:
 
mystream<<n; // write number of elements
for(int i=0; i<n; ++i)
 mystream<<arr[n]; //write the elements

Likewise, when you read the array from the file, first read the number of elements and then read as many integers into your local array:
 
mystream>>n; // read number of elements
int *arr= new int(n); //
for(int i=0; i<n; ++i)
 mystream>>arr[n]; // copy elements from file into arr

This simple protocol enables you to store several arrays in a file. Before you read each array, read the number of its elements and then read as many elements in a loop. Repeat this process until you've reached the EOF sign.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date