/
niceSOFT
/
gettext
ОбзорДокументацияВойти
/
niceSOFT
/
gettext
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
gettext/
gettext-runtime/libasprintf/
..
AUTHORS

Simplify.

17 лет назад
COPYING

Nop.

17 лет назад
COPYING.LIB

Update the GPL and LGPL text.

2 года назад
ChangeLog.0

build: Remove ChangeLogs

11 лет назад
INSTALL

Modernize quoting.

14 лет назад
INSTALL.windows

Rename some files.

9 лет назад
Makefile.am

build: Remove autosprintf_all.html upon "make maintainer-clean".

год назад
NEWS

Move libasprintf/NEWS to gettext-runtime/libasprintf/NEWS.

17 лет назад
README

Update bug reporting instructions.

7 лет назад
asnprintf.c

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
asprintf.c

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
autosprintf.cc

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
autosprintf.in.h

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
autosprintf.texi

libasprintf: Document need to use g++ option -Wall.

9 месяцев назад
configure.ac

build: Update after gnulib changed.

2 года назад
fdl.texi

Upgrade from GFDL 1.2 to GFDL 1.3.

2 года назад
gpl.texi

Update the GPL and LGPL text.

2 года назад
lgpl.texi

Update the GPL and LGPL text.

2 года назад
lib-asprintf.c

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
lib-asprintf.h

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
libasprintf.rc

build: Add Windows-format metainfo also to libgettextlib and libgettextsrc.

2 года назад
vasprintf.c

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
vasprintf.h

Update "Written by ..." lines and authorship notices in source files.

6 месяцев назад
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
------------
 
https://haible.de/bruno/gnu/libasprintf-1.0.tar.gz
 
Homepage
--------
 
https://haible.de/bruno/packages-libasprintf.html
 
Bug reports
-----------
 
Report bugs
- in the bug tracker at <https://savannah.gnu.org/projects/gettext>
- or by email to <bug-gettext@gnu.org>.
 
 
Bruno Haible <brunoe@clisp.org>