Unit V
Unit V
Width()-It specifies the width for display.the output will take up the
width specified.used in alignng vertical column of numeric items.
Precision()-It specifies the precision of the floating point
number.Default precision is six digits after decimal point
Fill()-it specifies the character for filling up the unused prion of the
field.It is usually usd with the width member function.
Setf()-The function specifies the format flags that controls output
display like left or right justification,padding after sign
symbol,scientific notation display,displaying abse of the number
Unsetf()-This function provides undo operation for above mentioned
operations with setf.
Member functions of Ios
include <iostream.h>#
#include <fstream.h>
/*
* Input using cin
*/
int main () {
char myline[256];
int lc = 0;
ofstream outfile("demo.txt",ios::app);
ifstream infile("stdcodes.xyz");
if (! infile) {
cerr << "Failed to open input file\n";
exit(1);
}
while (1) {
infile.getline(myline,256);
if (infile.eof()) break;
lc++;
outfile << lc << ": " << myline << "\n";
}
infile.close();
outfile.close();
cout << "Output " << lc << " records" << endl;
}
Object Serialization
Object Serialization
Simple persistence method which provides a
program the ability to read or write a whole object to
and from a stream of bytes
Allows Java objects to be encoded into a byte
stream suitable for streaming to a file on disk or over
a network
The class must implement the Serializable interface
(java.io.Serializable), which does not declare any
methods, and have accessors and mutators for its
attributes
Object Serialization :example pgm
create output stream //
File file = new
;File("teams_serialize.ser")
;)(String fullPath = file.getAbsolutePath
;fos = new FileOutputStream(fullPath)
Using a namespace
;using namespace smallNamespace
;count +=1
;)(abc
STD Namespaces
Items declared in the C++ Standard Library
are declared in the std namespace
C++ include files for several functions are in
the std namespace
To include input and output functions from the –
C++ library, write
>include <iostream
;using namespace std
Ansi string objects
>include <string#
;using namespace std
...
;"string first_name = "Bjarne
;string last_name
;"last_name = "Stroustrup
;string names = first_name + " " + last_name
;cout << names << endl
names = last_name + ", " + first
;first_name + "
;cout << names << endl
Ansi string class member functions
Member functions
The string class defines many member functions. A few of the basic
:ones are described below
A string object may defined without an initializing value, in which case
its initial
:value is an empty string (zero length, no characters)
;string str1
A string object may also be initialized with
: a string expression
;string str2 = str1
;string str3 = str1 + str2
string str4 (str2); // Alternate form
: a character string literal
;"string str4 = "Hello there
Standard Template Library
The standard template library (STL) contains
Containers –
Algorithms –
Iterators –
A container is a way that stored data is organized in
.memory, for example an array of elements
Algorithms in the STL are procedures that are applied to
containers to process their data, for example search for
.an element in an array, or sort an array
Iterators are a generalization of the concept of pointers,
they point to elements in a container, for example you can
increment an iterator to point to the next element in an
array
Containers, Iterators, Algorithms
Container Container
Iterator
Algorithm
Objects Iterator
Algorithm
Iterator
Iterator
Algorithm
Containers
A container is a way to store data, either built-in data
types like int and float, or class objects
The STL provides several basic kinds of containers
vector> : one-dimensional array< –
list> : double linked list< –
deque> : double-ended queue< –
queue> : queue< –
stack> : stack< –
set> : set< –
map> : associative array< –
Sequence Containers
A sequence container stores a set of elements in
sequence, in other words each element (except
for the first and last one) is preceded by one
,>specific element and followed by another, <vector
list> and <deque> are sequential containers<
In an ordinary C++ array the size is fixed and can
not change during run-time, it is also tedious to
insert or delete elements. Advantage: quick random
access
vector> is an expandable array that can shrink or <
grow in size, but still has the disadvantage of
inserting or deleting elements in the middle
Sequence Containers
list> is a double linked list (each element has <
points to its successor and predecessor), it is
quick to insert or delete elements but has slow
random access
deque> is a double-ended queue, that means one <
can insert and delete elements from both ends, it
is a kind of combination between a stack (last in
first out) and a queue (first in first out) and constitutes
a compromise between a <vector> and
>a <list
Associative Containers
An associative container is non-sequential but
uses
a key to access elements. The keys, typically a
number or a string, are used by the container to
,arrange the stored elements in a specific order
for example in a dictionary the entries are
ordered
.alphabetically
Associative Containers
A <set> stores a number of items which contain keys
,The keys are the attributes used to order the items
for example a set might store objects of the class
Person which are ordered alphabetically using their name
A <map> stores pairs of objects: a key object and
an associated value object. A <map> is somehow
similar to an array except instead of accessing its
elements with index numbers, you access them with
.indices of an arbitrary type
,set> and <map> only allow one key of each value<
whereas <multiset> and <multimap> allow multiple
Iterators
Iterators are pointer-like entities that are
used to
.access individual elements in a container
they are used to move sequentially
Oftenvector<int>
fromarray_
element17to element, a process called
vector<int>::iterator
4
. iterating through a container
23 The iterator corresponding to
12 the class vector<int> is of
the type vector<int>::iterator
size_ 4
Iterators
One can have multiple iterators pointing to
different or identical elements in the
vector<int> v container
i1
array_ 17
4
i2
23
12
i3
size_ 4
Iterators
>include <vector#
>include <iostream#
int arr[] = { 12, 3, 17, 8 }; // standard C array
vector<int> v(arr, arr+4); // initialize vector with C array
for (vector<int>::iterator i=v.begin(); i!=v.end(); i++)
initialize i with pointer to first element of v //
i++ increment iterator, move iterator to next element //
{
cout << *i << ” ”; // de-referencing iterator returns the
value of the element the iterator points at //
}
;cout << endl
++File handling in C
Introduction to File Handling
Data entered once, required later again –
Same Data to be used by others –
Data required again by the same program –
Files and Streams
I/O Streams
Description Stream
cin
Standard input stream
Standard output cout
stream
Standard error cerr
stream
ofstream
Output file stream Class
open() is a member function of the class ofstream
Inherited functions of ofstream class, from the class
ostream are
)(put –
)(write –
)(seekp –
)(tellp –
fstream
It supports files for simultaneous input and output
fstream is derived from
ifstream –
ofstream –
iostream –
Function Prototype
Function Call
Function Definition