
First comprehensive treatment of ANSI and ISO standards for the C Library. Includes practical advice on using all 15 headers of the Library and covers the concept design and utilization of libraries. Contains complete codes of C Library and is the companion volume to C Programming Language. An independent consultant, author Plauger is one of the world's leading experts on C and the C Library.
1) The Standard C Library - One of the best books to learn about industrial-strength C programming implementation techniques.
2) The C++ Standard Template Library - Similar to above but for C++ STL.
Both the above were licensed through his company Dinkumware. I had an opportunity to license, study and use them for a project and found the experience quite rewarding. It is not as complicated and relatively easier to understand than GNU libc and libstdc++. Of course i have both the books which explain the implementation.
3) His other set of interesting books are the 3-vol Programming on Purpose; a series of essays on various topics. The 1st is on Software Design, the 2nd is on Software People and the 3rd is on Software Technology. They also contain lots of nuggets of wisdom which are still relevant today. My favourite is the one on software design - https://archive.org/details/programmingonpur0000plau
https://en.cppreference.com/w/c/chrono/strftime
Man page strftime shows,
%F Equivalent to %Y-%m-%d (the ISO 8601 date format). (C99) %T The time in 24-hour notation (%H:%M:%S). (SU)
The Op linked page did not recognise these. I tried with the "%FT%T%z" which works fine with date and strftime().
I've probably used %F and %T about 20 years with no issues linux, bsd and mac that I wrote code over the years.
BTW, It would be nice to see some reference or comparison how systems stdlib implementations match with these standards if there is one.
One gripe I've got with RFC3999 and it's not nice to have the semicolon in filename if you intend to use it file or directory name. As it conflicts and easily becoome issue when not quoted while using rsync or any command that thinks colon (:) separates and indicates host name. I'm not sure if colon would cause issues with windows but there is chance it could as it's used indicating device name.
ps. I had to implement many stdlib time.h defined functions my own between -89 - 92 for my then work as Turbo C 2.0 and 3.0/3.1 did not implement these. I recall that last time I touched these and fixed issues was when I got P.J. Plaugers The Standard C Library book when it was brand new -92. When earlier proprietary C-compliers libraries sources had not been available, that Plaugers book was was great help for many :)
Although, K&R is pre-C 89 standard, Plauger is more along the lines of C-89/92 standard.
More recent "standard ansi C library" : https://en.wikibooks.org/wiki/C_Programming/Standard_librari...
I learnt more about C and C++ from studying Plauger's The Standard C Library and Plauger/Stepanov's The C++ Standard Template Library. I also remember learning Object-Oriented Framework design from MFC Internals.
* To study OO expression of C++ via Class libraries/Frameworks i recommend a study of "Microsoft Foundation Classes (MFC) library" paired with the book MFC Internals. The code is available with the installation of Visual Studio.
* P.J.Plauger's The Standard C Library and The C++ Standard Template Library(with Alexander Stepanov, Meng Lee and David Musser) will teach you excellent C and C++ Generic programming skills. Code available with the standard C++ toolchain installation.
* The Boost libraries paired with the book C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond.
* The FXT library of Algorithms by Jorg Arndt (https://www.jjj.de/fxt/fxtpage.html) along with its book Matters Computational for writing optimized C++ code.
I would also suggest reading the following two classics to learn designing in C++;
* Multi-Paradigm Design for C++ by James Coplien.
* Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples by Barton and Nackman.