- Hardcover: 672 pages
- Publisher: Addison-Wesley Professional; 1 edition (February 10, 2000)
- Language: English
- ISBN-10: 0201183951
- ISBN-13: 978-0201183955
- Product Dimensions: 7.6 x 1.6 x 9.4 inches
- Shipping Weight: 2.6 pounds (View shipping rates and policies)
- Average Customer Review: 22 customer reviews
- Amazon Best Sellers Rank: #1,478,141 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Aimed at the advanced C++ programmer, Standard C++ IOStreams and Locales explains the internals of how C++ streams work and provides support for internationalization. It explains the inner details of architecture and design of these important built-in C++ objects, and it's a reference to all relevant classes and methods.
This book effectively reveals the inner workings of the entire stream class library in today's Standard C++ in two ways: First, it explains the design principles and internal function of these stream classes, whether for simple console or file I/O or for more advanced topics like memory streams. There's coverage of I/O basics (manipulators, stream flags, and other built-in features) for everyday programming with streams. The book also does an excellent job of delving into the nitty-gritty details of these classes (which most of us know only on the surface). Examples include a custom date class that will cooperate with existing stream libraries and create new "facets"--output rules that customize data for particular languages or "locales."
Besides an in-depth guide to what streams do by default and some hints for adding your own classes to work with them, the text also contains over 200 pages of reference material on every C++ stream and locale class, organized by header files. (These sections will arguably be the most useful for the working C++ developer.)
Like the support for template classes, the Standard Library's support for streams is powerful but until now, anyway, not easily accessible to ordinary programmers. For anyone who already knows the fundamentals of streams and is seeking to do more, this title fills a useful niche. It is an authoritative and densely packed source of technical detail on built-in C++ classes. --Richard Dragan
Topics covered: Standard C++ predefined streams, input and output operators, manipulators, locale basics, formatted input, stream state flags, file streams, in-memory I/O, stream positioning, synchronizing streams, stream class architecture, stream buffer classes, character types, wide character support, stream and stream buffer iterators, custom stream classes for user-defined types, inserters and extractors, user-defined manipulators, customizing stream and stream buffer classes, internationalization and localization, standard facets, user-defined facets, stream and locale class reference.
"Langer and Kreft have an international book that applies to the United States and the rest of the world the way they address internationalization." -- C. Tondo, T&T TechWorks, Inc.
"The combination of usage guide and reference manual is good. This book is particularly relevant for anyone who needs to internationalize their programs input and output to exhibit reasonable and expected behavior, language, monetary and numeric formatting and syntax. In today's global economy, internationalized behavior is a highly desirable goal." -- Mary Dageforde, Dageforde Consulting
"This is THE book on streams. There is nothing whatsoever like this on the market, and anyone who needs to I18n/Localization will eat this up. I found these chapters readable and informative." -- Chuck Allison, Consulting Editor, C/C++ Users Journal
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
As this book points out, IOStreams is perhaps the most-overlooked part of standard C++. It has just as many features as the STL, and can help you write less, better code if you take advantage of it. If you have ever spent a few days writing a buffer class, you didn't have to; The IOStreams streambuf is comletely extensible and customizable.
Even better, IOStreams is a complex, high-performance library written by a C++ expert from Bell Labs. Most of us C++ programmers don't think about how IOStreams works, other than to write '<<' a few times. OO design doesn't get any better than that. This book is also an excellent case study on the IOStreams library, touching on the proper use of multiple inheritence, and the benefits of static type checking. If a library can be this efficient and extensible, while being as easy to use as typing '<<', there is something every C++ programmer can learn from its design.
The book is even endorsed by Jerry Schwarz, the man who invented IOStreams, and has a forward written by him. If you own two STL books, but not this book, I think you've made a mistake. This should be the third C++ book you buy, after a language reference and STL reference. It is that useful and interesting.
Pages 343-559 are a reference guide and are of marginal utility.
This book would be improved by giving more historical perspective on the development of iostreams.
There is now no reason ANY programmer should create a new ostream class by inheriting from basic_ostream<>. The I/O streams library was designed to be extended by programmers. Read this book and learn how to do it so that you don't have to re-write every sub member as a forward to the actual class.
As for Locales, there is a chapter in the latest version of B.S's book as an Appendix. Or about 1/4th of this book is devoted to how that mechanism works.
Buy it. You need it. Without it you are programming by guess and by golly.
Fortunately, it's very well-written, by knowledgeable authors. The text is fairly dense reading, but it flows logically, and the information has not been put together this well anywhere else that I have seen.
Chances are, if you are a C++ programmer, you use the streams library fairly regularly. You may not, however, be familiar with the details of the streams design. Similarly, my experience has been that I may have touched upon locales occasionally, but did not have a detailed grasp of the breadth of the design.
Because of this, and because these may not be everyday issues, it is very valuable to have a detailed reference book to refer to when you need it. This book fits the bill very nicely.