Welcome to ftp.nluug.nl Current directory: /ftp/pub/NetBSD/NetBSD-current/src/external/gpl2/gettext/dist/gettext-runtime/libasprintf/ |
|
Contents of README:GNU libasprintf - automatic formatted output to strings This package makes the C formatted output routines (fprintf et al.) usable in C++ programs. Sample use ---------- char *pathname = autosprintf ("%s/%s", directory, filename); cerr << autosprintf ("syntax error in %s:%d: %s", filename, line, errstring); Benefits -------- The benefits of autosprintf over the usual "piecewise meal" idiom cerr << "syntax error in " << filename << ":" << line << ": " << errstring; are: - Reuses of the standard POSIX printf facility. Easy migration from C to C++. - English sentences are kept together. - Internationalization requires format strings, because 1. Internationalization requires the ability for the translator to change the order of parts of a sentence. The POSIX printf formatted output functions (and thus also autosprintf) support this through the %m$ and *m$ syntax. 2. Translators are used to translate one string per sentence, not multiple strings per sentence, and not C++ code statements. - Reduces the risk of programming errors due to forgotten state in the output stream (e.g. 'cout << hex;' not followed by 'cout << dec;'). The benefits of autosprintf over C sprintf are: - Autosprintf avoids buffer overruns and truncated results. The C sprintf() function often leads to buffer overruns. On the other hand, the C snprintf() function requires extra coding for an a priori estimate of the result's size and truncates the result if the estimate was too low. - Autosprintf avoids memory leaks. Temporarily allocated memory is cleaned up automatically. Installation ------------ See INSTALL. Usually "./configure; make; make install" should work. The installed files are: - An include file "autosprintf.h" which defines the class 'autosprintf', in the namespace 'gnu'. - A library libasprintf containing this class. Use --- To use the class autosprintf, use #include "autosprintf.h" using gnu::autosprintf; and link with the linker option -lasprintf Misc notes ---------- An instance of class 'autosprintf' contains the formatted output result; this string is freed when the instance's destructor is run. The class name 'autosprintf' is meant to remind the C function sprintf(), the GNU C library function asprintf(), and the C++ autoptr programming idiom. Distribution ------------ http://www.haible.de/bruno/gnu/libasprintf-1.0.tar.gz Homepage -------- http://www.haible.de/bruno/packages-libasprintf.html Bug reports to: --------------- <bug-gnu-gettext@gnu.org> Bruno Haible <brunoe@clisp.org> |
Name Last modified Size
Parent Directory - CVS/ 17-Dec-2022 22:27 - AUTHORS 12-Jan-2016 20:50 33 COPYING 12-Jan-2016 20:50 65 COPYING.LIB 12-Jan-2016 20:50 25K ChangeLog 12-Jan-2016 20:50 16K INSTALL 12-Jan-2016 20:50 11K Makefile.am 12-Jan-2016 20:50 4.8K Makefile.in 12-Jan-2016 23:58 33K NEWS 12-Jan-2016 20:50 0 README 12-Jan-2016 20:50 2.6K README.woe32 12-Jan-2016 20:50 174 aclocal.m4 12-Jan-2016 20:50 32K alloca_.h 12-Jan-2016 20:50 2.3K asnprintf.c 12-Jan-2016 20:50 1.1K asprintf.c 12-Jan-2016 20:50 1.1K autosprintf.cc 12-Jan-2016 20:50 2.2K autosprintf.h.in 12-Jan-2016 20:50 2.2K autosprintf.info 12-Jan-2016 20:50 4.4K autosprintf.texi 12-Jan-2016 20:50 5.9K autosprintf_all.html 12-Jan-2016 20:50 3.8K config.h.in 12-Jan-2016 20:50 3.8K configure 12-Jan-2016 20:50 736K configure.ac 12-Jan-2016 20:50 2.7K lib-asprintf.c 12-Jan-2016 20:50 1.3K lib-asprintf.h 12-Jan-2016 20:50 1.1K printf-args.c 12-Jan-2016 20:50 4.1K printf-args.h 12-Jan-2016 20:50 2.8K printf-parse.c 12-Jan-2016 20:50 12K printf-parse.h 12-Jan-2016 20:50 2.1K texi2html 12-Jan-2016 20:50 56K vasnprintf.c 12-Jan-2016 20:50 22K vasnprintf.h 12-Jan-2016 20:50 2.8K vasprintf.c 12-Jan-2016 20:50 1.5K vasprintf.h 12-Jan-2016 20:50 2.0K xsize.h 12-Jan-2016 20:50 3.5K
NLUUG - Open Systems. Open Standards
Become a member
and get discounts on conferences and more, see the NLUUG website!