C++ Primer, Fifth Edition
format by using hexfloat. The new library provides another manipulator, named
defaultfloat. This manipulator returns the stream to its default state in which it
chooses a notation based on the value being printed.
These manipulators also change the default meaning of the precision for the stream.
After executing scientific, fixed, or hexfloat, the precision value controls the
number of digits after the decimal point. By default, precision specifies the total
number of digits—both before and after the decimal point. Using fixed or
scientific lets us print numbers lined up in columns, with the decimal point in a
fixed position relative to the fractional part being printed:
Click here to view code image
cout << "default format: " << 100 * sqrt(2.0) << '\n'
<< "scientific: " << scientific << 100 * sqrt(2.0) <<
'\n'
<< "fixed decimal: " << fixed << 100 * sqrt(2.0) <<
'\n'
<< "hexadecimal: " << hexfloat << 100 * sqrt(2.0) <<
'\n'
<< "use defaults: " << defaultfloat << 100 * sqrt(2.0)
<< "\n\n";
produces the following output:
default format: 141.421
scientific: 1.414214e+002
fixed decimal: 141.421356
hexadecimal: 0x1.1ad7bcp+7
use defaults: 141.421
By default, the hexadecimal digits and the e used in scientific notation are printed in
lowercase. We can use the uppercase manipulator to show those values in
uppercase.
Printing the Decimal Point
By default, when the fractional part of a floating-point value is 0, the decimal point is
not displayed. The showpoint manipulator forces the decimal point to be printed:
Click here to view code image
cout << 10.0 << endl;         // prints 10
cout << showpoint << 10.0     // prints 10.0000
<< noshowpoint << endl;  // revert to default format for the decimal
point
The noshowpoint manipulator reinstates the default behavior. The next output
expression will have the default behavior, which is to suppress the decimal point if the
floating-point value has a 0 fractional part.
www.it-ebooks.info
How to convert pdf to ppt online - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
export pdf to powerpoint; how to convert pdf to ppt for
How to convert pdf to ppt online - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
convert pdf slides to powerpoint online; convert pdf to powerpoint with
C++ Primer, Fifth Edition
Padding the Output
When we print data in columns, we often need fairly fine control over how the data
are formatted. The library provides several manipulators to help us accomplish the
control we might need:
• setw to specify the minimum space for the 
next
numeric or string value.
• left to left-justify the output.
• right to right-justify the output. Output is right-justified by default.
• internal controls placement of the sign on negative values. internal left-
justifies the sign and right-justifies the value, padding any intervening space with
blanks.
• setfill lets us specify an alternative character to use to pad the output. By
default, the value is a space.
Note
setw, like endl, does not change the internal state of the output stream. It
determines the size of only the 
next
output.
The following program illustrates these manipulators:
Click here to view code image
int i = -16;
double d = 3.14159;
// pad the first column to use a minimum of 12 positions in the output
cout << "i: " << setw(12) << i << "next col" << '\n'
<< "d: " << setw(12) << d << "next col" << '\n';
// pad the first column and left-justify all columns
cout << left
<< "i: " << setw(12) << i << "next col" << '\n'
<< "d: " << setw(12) << d << "next col" << '\n'
<< right;                // restore normal justification
// pad the first column and right-justify all columns
cout << right
<< "i: " << setw(12) << i << "next col" << '\n'
<< "d: " << setw(12) << d << "next col" << '\n';
// pad the first column but put the padding internal to the field
cout << internal
<< "i: " << setw(12) << i << "next col" << '\n'
<< "d: " << setw(12) << d << "next col" << '\n';
// pad the first column, using # as the pad character
cout << setfill('#')
www.it-ebooks.info
Online Convert PowerPoint to PDF file. Best free online export
Online Powerpoint to PDF Converter. Download Free Trial. Convert a PPTX/PPT File to PDF. Just upload your file by clicking on the blue
convert pdf to powerpoint presentation; pdf to ppt converter online for large
How to C#: Convert PDF, Excel, PPT to Word
How to C#: Convert PDF, Excel, PPT to Word. Online C# Tutorial for Converting PDF, MS-Excel, MS-PPT to Word. PDF, MS-Excel, MS-PPT to Word Conversion Overview.
convert pdf to editable ppt; how to convert pdf to powerpoint on
C++ Primer, Fifth Edition
<< "i: " << setw(12) << i << "next col" << '\n'
<< "d: " << setw(12) << d << "next col" << '\n'
<< setfill(' ');   // restore the normal pad character
When executed, this program generates
i:          -16next col
d:      3.14159next col
i: -16         next col
d: 3.14159     next col
i:          -16next col
d:      3.14159next col
i: -         16next col
d:      3.14159next col
i: -#########16next col
d: #####3.14159next col
Table 17.18. Manipulators Defined in iomanip
Controlling Input Formatting
By default, the input operators ignore whitespace (blank, tab, newline, formfeed, and
carriage return). The following loop
char ch;
while (cin >> ch)
cout << ch;
given the input sequence
a b    c
d
executes four times to read the characters a through d, skipping the intervening
blanks, possible tabs, and newline characters. The output from this program is
abcd
The noskipws manipulator causes the input operator to read, rather than skip,
whitespace. To return to the default behavior, we apply the skipws manipulator:
Click here to view code image
cin >> noskipws;  // set cin so that it reads whitespace
while (cin >> ch)
www.it-ebooks.info
How to C#: Convert Word, Excel and PPT to PDF
How to C#: Convert Word, Excel and PPT to PDF. Online C# Tutorial for Converting MS Office Word, Excel and PowerPoint to PDF. MS Office
create powerpoint from pdf; pdf to ppt
C# PDF Convert: How to Convert MS PPT to Adobe PDF Document
C# PDF Convert: How to Convert MS PPT to Adobe PDF Document. Provide Free Demo Code for PDF Conversion from Microsoft PowerPoint in C# Program.
convert pdf to powerpoint slide; pdf to powerpoint converter
C++ Primer, Fifth Edition
cout << ch;
cin >> skipws;    // reset cin to the default state so that it discards whitespace
Given the same input as before, this loop makes seven iterations, reading whitespace
as well as the characters in the input. This loop generates
a b    c
d
Exercises Section 17.5.1
Exercise 17.34: Write a program that illustrates the use of each
manipulator in Tables 17.17 (p. 757) and 17.18.
Exercise 17.35: Write a version of the program from page 758, that printed
the square root of 2 but this time print hexadecimal digits in uppercase.
Exercise 17.36: Modify the program from the previous exercise to print the
various floating-point values so that they line up in a column.
17.5.2. Unformatted Input/Output Operations
So far, our programs have used only formatted IO operations. The input and output
operators (<< and >>) format the data they read or write according to the type being
handled. The input operators ignore whitespace; the output operators apply padding,
precision, and so on.
The library also provides a set of low-level operations that support unformatted
IO. These operations let us deal with a stream as a sequence of uninterpreted bytes.
Single-Byte Operations
Several of the unformatted operations deal with a stream one byte at a time. These
operations, which are described in Table 17.19, read rather than ignore whitespace.
For example, we can use the unformatted IO operations get and put to read and
write the characters one at a time:
char ch;
while (cin.get(ch))
cout.put(ch);
This program preserves the whitespace in the input. Its output is identical to the
input. It executes the same way as the previous program that used noskipws.
Table 17.19. Single-Byte Low-Level IO Operations
www.it-ebooks.info
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
PPTXDocument doc = new PPTXDocument(@"demo.pptx"); if (null == doc) throw new Exception("Fail to load PowerPoint Document"); // Convert PPT to Tiff.
how to change pdf to powerpoint on; images from pdf to powerpoint
VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
This VB.NET online tutorial page can help you processing control add-on can do PPT creating, loading powerful & profession imaging controls, PDF document, image
convert pdf pages into powerpoint slides; convert pdf to ppt online
C++ Primer, Fifth Edition
Putting Back onto an Input Stream
Sometimes we need to read a character in order to know that we aren’t ready for it.
In such cases, we’d like to put the character back onto the stream. The library gives
us three ways to do so, each of which has subtle differences from the others:
• peek returns a copy of the next character on the input stream but does not
change the stream. The value returned by peek stays on the stream.
• unget backs up the input stream so that whatever value was last returned is
still on the stream. We can call unget even if we do not know what value was
last taken from the stream.
• putback is a more specialized version of unget: It returns the last value read
from the stream but takes an argument that must be the same as the one that
was last read.
In general, we are guaranteed to be able to put back at most one value before the
next read. That is, we are not guaranteed to be able to call putback or unget
successively without an intervening read operation.
int
Return Values from Input Operations
The peek function and the version of get that takes no argument return a character
from the input stream as an int. This fact can be surprising; it might seem more
natural to have these functions return a char.
The reason that these functions return an int is to allow them to return an end-of-
file marker. A given character set is allowed to use every value in the char range to
represent an actual character. Thus, there is no extra value in that range to use to
represent end-of-file.
The functions that return int convert the character they return to unsigned char
and then promote that value to int. As a result, even if the character set has
characters that map to negative values, the int returned from these operations will
be a positive value (§ 2.1.2, p. 35). The library uses a negative value to represent
end-of-file, which is thus guaranteed to be distinct from any legitimate character
value. Rather than requiring us to know the actual value returned, the iostream
header defines a const named EOF that we can use to test if the value returned
www.it-ebooks.info
VB.NET PowerPoint: Convert & Render PPT into PDF Document
VB.NET PowerPoint - Render PPT to PDF in VB.NET. How to Convert PowerPoint Slide to PDF Using VB.NET Code in .NET. Visual C#. VB.NET. Home > .NET Imaging SDK >
pdf to powerpoint conversion; change pdf to powerpoint online
VB.NET PowerPoint: Read & Scan Barcode Image from PPT Slide
VB.NET PPT PDF-417 barcode scanning SDK to detect PDF-417 barcode image from PowerPoint slide. VB.NET APIs to detect and decode
how to convert pdf to ppt; embed pdf into powerpoint
C++ Primer, Fifth Edition
from get is end-of-file. It is essential that we use an int to hold the return from
these functions:
Click here to view code image
int ch;    // use an int, not a char to hold the return from get()
// loop to read and write all the data in the input
while ((ch = cin.get()) != EOF)
cout.put(ch);
This program operates identically to the one on page 761, the only difference being
the version of get that is used to read the input.
Multi-Byte Operations
Some unformatted IO operations deal with chunks of data at a time. These operations
can be important if speed is an issue, but like other low-level operations, they are
error-prone. In particular, these operations require us to allocate and manage the
character arrays (§ 12.2, p. 476) used to store and retrieve data. The multi-byte
operations are listed in Table 17.20.
Table 17.20. Multi-Byte Low-Level IO Operations
The get and getline functions take the same parameters, and their actions are
similar but not identical. In each case, sink is a char array into which the data are
placed. The functions read until one of the following conditions occurs:
• size - 1 characters are read
• End-of-file is encountered
www.it-ebooks.info
C++ Primer, Fifth Edition
• The delimiter character is encountered
The difference between these functions is the treatment of the delimiter: get leaves
the delimiter as the next character of the istream, whereas getline reads and
discards the delimiter. In either case, the delimiter is 
not
stored in sink.
Warning
It is a common error to intend to remove the delimiter from the stream but
to forget to do so.
Determining How Many Characters Were Read
Several of the read operations read an unknown number of bytes from the input. We
can call gcount to determine how many characters the last unformatted input
operation read. It is essential to call gcount before any intervening unformatted input
operation. In particular, the single-character operations that put characters back on
the stream are also unformatted input operations. If peek, unget, or putback are
called before calling gcount, then the return value will be 0.
17.5.3. Random Access to a Stream
The various stream types generally support random access to the data in their
associated stream. We can reposition the stream so that it skips around, reading first
the last line, then the first, and so on. The library provides a pair of functions to 
seek
to a given location and to 
tell
the current location in the associated stream.
Note
Random IO is an inherently system-dependent. To understand how to use
these features, you must consult your system’s documentation.
Although these seek and tell functions are defined for all the stream types, whether
they do anything useful depends on the device to which the stream is bound. On most
systems, the streams bound to cin, cout, cerr, and clog do 
not
support random
access—after all, what would it mean to jump back ten places when we’re writing
directly to cout? We can call the seek and tell functions, but these functions will fail
at run time, leaving the stream in an invalid state.
Caution: Low-Level Routines Are Error-Prone
In general, we advocate using the higher-level abstractions provided by the
www.it-ebooks.info
C++ Primer, Fifth Edition
library. The IO operations that return int are a good example of why.
It is a common programming error to assign the return, from get or peek
to a char rather than an int. Doing so is an error, but an error the compiler
will not detect. Instead, what happens depends on the machine and on the
input data. For example, on a machine in which chars are implemented as
unsigned chars, this loop will run forever:
Click here to view code image
char ch;   // using a char here invites disaster!
// the return from cin.get is converted to char and then compared to an int
while ((ch = cin.get()) != EOF)
cout.put(ch);
The problem is that when get returns EOF, that value will be converted to
an unsigned char value. That converted value is no longer equal to the
int value of EOF, and the loop will continue forever. Such errors are likely to
be caught in testing.
On machines for which chars are implemented as signed chars, we
can’t say with confidence what the behavior of the loop might be. What
happens when an out-of-bounds value is assigned to a signed value is up
to the compiler. On many machines, this loop will appear to work, unless a
character in the input matches the EOF value. Although such characters are
unlikely in ordinary data, presumably low-level IO is necessary only when we
read binary values that do not map directly to ordinary characters and
numeric values. For example, on our machine, if the input contains a
character whose value is '\377', then the loop terminates prematurely.
'\377' is the value on our machine to which −1 converts when used as a
signed char. If the input has this value, then it will be treated as the
(premature) end-of-file indicator.
Such bugs do not happen when we read and write typed values. If you can
use the more type-safe, higher-level operations supported by the library, do
so.
Exercises Section 17.5.2
Exercise 17.37: Use the unformatted version of getline to read a file a
line at a time. Test your program by giving it a file that contains empty lines
as well as lines that are longer than the character array that you pass to
getline.
Exercise 17.38: Extend your program from the previous exercise to print
each word you read onto its own line.
www.it-ebooks.info
C++ Primer, Fifth Edition
Warning
Because the istream and ostream types usually do not support random
access, the remainder of this section should be considered as applicable to
only the fstream and sstream types.
Seek and Tell Functions
To support random access, the IO types maintain a marker that determines where the
next read or write will happen. They also provide two functions: One repositions the
marker by 
seek
ing to a given position; the second 
tell
s us the current position of the
marker. The library actually defines two pairs of 
seek
and 
tell
functions, which are
described in Table 17.21. One pair is used by input streams, the other by output
streams. The input and output versions are distinguished by a suffix that is either a g
or a p. The g versions indicate that we are “getting” (reading) data, and the p
functions indicate that we are “putting” (writing) data.
Table 17.21. Seek and Tell Functions
Logically enough, we can use only the g versions on an istream and on the types
ifstream and istringstream that inherit from istream (§ 8.1, p. 311). We can
use only the p versions on an ostream and on the types that inherit from it,
ofstream and ostringstream. An iostream, fstream, or stringstream can
both read and write the associated stream; we can use either the g or p versions on
objects of these types.
There Is Only One Marker
The fact that the library distinguishes between the “putting” and “getting” versions of
the seek and tell functions can be misleading. Even though the library makes this
distinction, it maintains only a single marker in a stream—there is 
not
a distinct read
www.it-ebooks.info
C++ Primer, Fifth Edition
marker and write marker.
When we’re dealing with an input-only or output-only stream, the distinction isn’t
even apparent. We can use only the g or only the p versions on such streams. If we
attempt to call tellp on an ifstream, the compiler will complain. Similarly, it will
not let us call seekg on an ostringstream.
The fstream and stringstream types can read and write the same stream. In
these types there is a single buffer that holds data to be read and written and a single
marker denoting the current position in the buffer. The library maps both the g and p
positions to this single marker.
Note
Because there is only a single marker, we 
must
do a seek to reposition the
marker whenever we switch between reading and writing.
Repositioning the Marker
There are two versions of the seek functions: One moves to an “absolute” address
within the file; the other moves to a byte offset from a given position:
Click here to view code image
// set the marker to a fixed position
seekg(new_position);   // set the read marker to the given pos_type location
seekp(new_position);   // set the write marker to the given pos_type location
// offset some distance ahead of or behind the given starting point
seekg(offset, from);    // set the read marker offset distance from from
seekp(offset, from);    // offset has type off_type
The possible values for from are listed in Table 17.21 (on the previous page).
The arguments, new_position and offset, have machine-dependent types
named pos_type and off_type, respectively. These types are defined in both
istream and ostream. pos_type represents a file position and off_type
represents an offset from that position. A value of type off_type can be positive or
negative; we can seek forward or backward in the file.
Accessing the Marker
The tellg or tellp functions return a pos_type value denoting the current
position of the stream. The tell functions are usually used to remember a location so
that we can subsequently seek back to it:
www.it-ebooks.info
Documents you may be interested
Documents you may be interested