Angelika Langer - Training & Consulting



CONTACT Review: Standard C++ IOStreams and Locales


Standard C++ IOStreams and Locales

Advanced Programmer's Guide and Reference

Angelika Langer & Klaus Kreft
Addison-Wesley, January 2000
ISBN 0-201-18395-1 Review: Standard C++ IOStreams and Locales

(found at )
5 out of 5 stars Amazing book
Reviewer: Ray from United States, May 20, 2002
The title of the book says it all. This book delivers anything you could possibly want to know about streams and locales. The book might seem dry at times but im so glad I muddled through this book the first time; i cant imagine programming with out it! 
You will be able to write flawless file I/O thats easily extensible and maintainable. All with less code than the C-style I/O. Almost all C++ books teach C style I/O for some reason, and you will cringe at that after you absorb this book. 
You will be able use your new code with the STL seamlessly giving you even more robust and easy to maintain code. I still get giddy when i see how elegant and flawless your code can be when you use the standard library (the non-depracted part) to the fullest. 
The auther points out that some example code may not work on MSVC++ 6.0. Well, thats what i use and found little code i cant compile without modifications; and the code you cant compile you will be able to figure out good workaround right away if you know what VC 6.0 cant do; even I found good workarounds. 
You may think Iostreams and locales arent worth knowing about if you program windows apps. This is wrong. 
This book is good in so many ways, even the appendiecs were great source of new info. I still reach for this book at least once a week. This is my best buy period.
5 out of 5 stars The best, and only, comprehensive IOStreams book
Reviewer: Dave O'Hearn from Boston, MA United States , March 14, 2002
When people think of C++ standard libraries, they think of the STL. There are dozens of books on the STL, and everyone is taking advantages of its features to get good algorithms that don't reinvent 
the wheel. 
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.
5 out of 5 stars Hidden Treasures
Reviewer: Klaus Wittlich from Cologne, Germany, February 2, 2001 
The reason why I bought this book was the wish to learn more about the C++ Standard. When I held the book in my hand the first time I was not shure if it would be worth the time reading it. It seemed only be useful for a DOS - like software, not for my GUI problems. 
So I was very surprised in a good sense to read about ideas how to use IOStreams for GUI - 
internationalization (I18N), described on pages 175 and 225. The IOStreams library, as it is described by the authors, is a better answer to my I18N - problems than all other three GUI - libraries I know. It offers more flexibility. 
An other treasure was the techniqe of two-phase polymorphic dispatch described in this excellent book. This technique allows me a much more flexible design than in the past. If the customer asked for new features I often had to change my class hierarchy (and all classes in it) by adding new virtual functions. It is cumbersome if it is code of a library. The two-phase polymorphic dispatch shows an alternative.
The third (but not the last) treasure are the appendices. They are a good reference for C++ refinements. 
The thought I perhaps would not have read this book worries me, I had missed a chance. 
Many thanks to the authors writing such an excellent book.
5 out of 5 stars Unbelievable!
Reviewer: maunikar from Independence, OH United States, January 29, 2001
I've never seen a more thorough book. It's amazing just how much information there is on one topic. If you really want to use the iostream library, you have to have this book.
5 out of 5 stars Every serious streams programmer needs this book
Reviewer: Stephen Cleary from Petoskey, MI USA, January 2, 2001
This book is *the* reference for IOstreams. It is for advanced programmers who need to extend the 
IOstreams framework. 
This book is not a tutorial or an introduction. It is not recommended for people to learn how to *use* IOstreams. 
It *is* a complete technical reference, covering every detail of how IOstreams work. I've had to use it a few times in my work, and each time I was able to find the information I needed very quickly (this is good, considering I've never read it through). 
I have not yet had to use the information on locales, but I expect it to be equally complete and well-organized. 
A *must* for any serious C++ programmer!
5 out of 5 stars Explains streams in (sometimes) excruciating detail
Reviewer: John Wismar from Sacramento, CA USA, January 2, 2001 
 As the authors point out, the STL comprises about a third of the standard library, and the streams and locales portion another third, yet whereas there are dozens of books available describing STL, this is the only up-to-date treatment of streams and locales that I have come across. 
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.
5 out of 5 stars More Than Streams
Reviewer: Mark Wilson from Winchester, VA USA  October 10, 2000
First rate, well thought out and organized, once you recognize that (as the authors suggest) you need to read the second half of the book first. 
Indispensible companion to works on the STL and standard C++ library. I won't even lend my copy to my best friend.
5 out of 5 stars It may have warts, but it's the only option
Reviewer: Mr J A Dennett from Bournemouth, UK  June 20, 2000 
This book is the only up-to-date guide to the minutae of the ANSI/ISO C++ IOStreams framework, and it's hugely detailed. It's not easy to follow, even by the standards of this field, and the code samples aren't the best, but if you need to understand IOStreams you have no choice.
5 out of 5 stars Add This Essential Book To Your Library 
Reviewer: Aaron Walters from Ontario, Canada    May 23, 2000
In short: I would highly recommend that you add this book to your library of computer books, both as an educational and reference tool. 
It is Well-written: Easy to understand and follow concepts, many timely examples are found all through the text. 
It is Well-organized: Easy to navigate, information is organized into 'digestible chunks' to ease the learning and absorption process. 
It is Concise, yet thorough: No information overload, though it still presents (in a logical, easy-to-follow manner) a wealth of detailed information for the iostream programmer. 
It is Up-to-date: Published in January 2000. 
I have found it an invaluable and essential tool in learning and using the iostreams library, 
arguably one of the most-used libraries in the C++ Standard. This book will help you understand and use the iostream library to it's fullest potential, the way it was meant to be 
Don't get trapped by design errors due to misunderstanding or not knowing about features 
of iostreams: Get this book. 
I would also suggest The C++ Standard Library, by Nicolai M. Josuttis for information on 
all aspects of the STL. 
5 out of 5 stars Required Ownership for C++ programmers 
Reviewer: Gary Powell from Seattle, WA (USA)   May 1, 2000
This book is it. There is no other text which covers the full I/O Streams library as of the ISO C++99 standard. B. Stroustrup's book "The C++ Programming language" has one chapter of 50+ pages on streams. Its enough to get you started, but not enough if you want to make roll your own. Your other choice is to comb back issues of C++ Report and C/C++ User's Journal for the relevent information. (And know enough to ignore the articles that do it wrong. Ok maybe wrong is too strong a word, but now that you have the option to understand how the streams library is built you can use it the way it was intended.) 
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. 
5 out of 5 stars Indispensible Guide to IOStreams 
Reviewer: Ben Dorman from Columbia, MD, USA  March 18, 2000
This book is as indispensible to the serious C++ programmer as guides to the Standard Containers (STL) parts of the C++ standard library, and arrived in the bookstores in time to be the standard work on the subject for years to come. 
It is well written and lucid, and despite the authors claim to minimize the number of actual examples, contains sufficient snippets of usable code to be practically useful. 
5 out of 5 stars the book of choice with regard to standard IOStream 
Reviewer: Werner Mossner from Augsburg, Germany    March 12, 2000
This book is by far the most thorough and profound book I have read so far which covers standard IOStreams. Especially, I liked the comprehensive discussion of error handling which is often neglected by other authors. The coverage of the topic is exhaustive. The iterator concept and the other parts of the standard library are explained deeply enough that the novice reader can get the glue. 
The boxes "New Language Feature" are very helpful for the novice reader and add a kind of luxury to the book. 
The reference guide is very helpful in comparison to the standard. It can be used as a basis for ones daily work. The layout is clearly arranged and readable. 
5 out of 5 stars Best book on iostreams 
Reviewer: A reader from Los Angeles, USA     March 11, 2000
Calling this book "good" is an under statement. There is simply no other book that covers the iostream library to the level of detail found here. This is just an awesome book. 
The text has been a joy to read. Not exactly light reading but worth it. This book serves well as a tutorial and reference guide to the iostream. I haven't yet read the section on Locales but expect it to be of the same caliber. 
The last time a C++ book had such an impression was "The Annotated C++ Reference Manual" of many years ago. This book ranks right up there. 
Clearly, serious C++ developers will want to have this book in their C++ reference collection.
4 out of 5 stars Very technical but worth the read and the wait 
Reviewer: Douglas Cassidy from Cleveland     February 29, 2000
Two of my favorite C++ article authors have put out a VERY useful book for someone who already has a good grasp of C++ but now wants to have a mastery of IOStreams. 
Reviewer: Eichenberger Remo from Switzerland    February 29, 2000
(sorry for my english) this book explain the streambuf's very good ! BUY IT ! 
5 out of 5 stars Sehr gute Erklärung von STREAMBUF
Reviewer: aus Zürich, Schweiz , 29. Februar 2000
Ich war sehr überrascht über die Qualität der Dokumentation von STREAMBUF-Ableitungen. Dieses Buch erklärt alle wichtigen Zusammenhänge für die Entwicklung von eigenen STREAMBUF's ! 

  © Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: <  last update: 23 Oct 2003