1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
|
#! /bin/sh /usr/share/dpatch/dpatch-run
## 10_wprintf_3_CVS.dpatch by Daniel Kobras <kobras@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: New manpages for wprintf(3) and siblings.
## DP: From upstream CVS.
@DPATCH@
--- manpages-de/man3/wprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/wprintf.3 2002-02-10 20:13:40.000000000 +0100
@@ -0,0 +1,218 @@
+.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" References consulted:
+.\" GNU glibc-2 source code and manual
+.\" Dinkumware C library reference http://www.dinkumware.com/
+.\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html
+.\" ISO/IEC 9899:1999
+.\"
+.\" Translated by Walter Harms <walter.harms@informatik.uni-oldenburg.de>
+.\" 2002-02-10: Modified heavily by Martin Schulze <joey@infodrom.org>
+.\"
+.TH WPRINTF 3 "November 20, 1999" "GNU" "Linux Programmer's Manual"
+.SH BEZEICHNUNG
+wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf \- Formatierte Ausgabe mit weiten Zeichen
+.SH BERSICHT
+.nf
+.B #include <stdio.h>
+.B #include <wchar.h>
+.sp
+.BI "int wprintf(const wchar_t *" format ", ...);"
+.BI "int fwprintf(FILE *" stream ", const wchar_t *" format ", ...);"
+.BI "int swprintf(wchar_t *" wcs ", size_t " maxlen ,
+.BI " const wchar_t *" format ", ...);"
+.sp
+.B #include <stdarg.h>
+.sp
+.BI "int vwprintf(const wchar_t *" format ", va_list " args );
+.BI "int vfwprintf(FILE *" stream ", const wchar_t *" format ", va_list " args );
+.BI "int vswprintf(wchar_t *" wcs ", size_t " maxlen ,
+.BI " const wchar_t *" format ", va_list " args );
+.fi
+.SH BESCHREIBUNG
+Im Englischen werden "weite Zeichen" mit "wide characters" bezeichnet.
+Im Gegensatz zu herkmmlichen Zeichen werden sie mit mehreren Bytes
+kodiert, so da mehr als 256 unterschiedliche Zeichen zur Verfgung
+stehen.
+.PP
+Die Gruppe der
+.BR wprintf \-Funktionen
+ist die Variante fr weite Zeichen der
+.BR printf \-Funktionen.
+Sie produzieren eine formatierte Ausgabe mit weiten Zeichen.
+.PP
+Die Funktionen
+.B wprintf
+und
+.B vwprintf
+schreiben ihre Ausgabe als weite Zeichen auf
+.IR stdout .
+Dazu darf
+.I stdout
+nicht byte-orientiert sein (vergleichen Sie mit der Funktion
+.BR fwide ,
+um weitere Informationen zu erhalten).
+.PP
+Die Funktionen
+.B fwprintf
+und
+.B vfwprintf
+schreiben ihre Ausgabe als weite Zeichen auf
+.IR stream .
+Dazu darf
+.I stream
+nicht byte-orientiert sein (vergleichen Sie mit der Funktion
+.BR fwide ,
+um weitere Informationen zu erhalten).
+.PP
+Die Funktionen
+.B swprintf
+und
+.B vswprintf
+schreiben ihre Ausgabe in ein Array aus weiten Zeichen.
+Es ist Aufgabe des Programmierers, dafr zu sorgen, da mindestens fr
+.I maxlen
+weite Zeichen Platz
+in
+.I wcs
+vorhanden ist.
+.PP
+Diese Funktionen entsprechen
+.BR printf ,
+.BR vprintf ,
+.BR fprintf ,
+.BR vfprintf ,
+.B snprintf
+und
+.B vsprintf
+mit den folgenden nderungen:
+.TP
+.B \(bu
+Die Zeichenkette
+.I format
+besteht aus weiten Zeichen.
+.TP
+.B \(bu
+Die Ausgabe besteht auch aus weiten Zeichen und nicht aus Bytes.
+.TP
+.B \(bu
+.B swprintf
+und
+.B vswprintf
+benutzen ein
+Argument
+.IR maxlen ,
+.B sprintf
+und
+.B svprintf
+jedoch nicht.
+.B snprintf
+und
+.B vsnprint
+verwenden ebenfalls ein solches Argument, doch diese Funktionen geben im
+Falle eines berlaufs nicht -1 zurck. (unter Linux)
+.PP
+Die Behandlung der Konvertierungszeichen
+.B %c
+und
+.B %s
+ist anders:
+.TP
+.B c
+Wenn kein Modifikator
+.B l
+vorhanden ist, wird das Argument
+.I int
+durch die Funktion
+.B btowc
+in weite Zeichen umgewandelt, diese werden geschrieben.
+Ist ein Modifikator
+.B l
+vorhanden, wird das (weite Zeichen) Argument
+.I wint_t
+geschrieben.
+.TP
+.B s
+Wenn kein Modifikator
+.B l
+vorhanden ist, wird ein Argument
+.IR "" `` "const char *" ''
+erwartet, das ein Zeiger auf ein Array von Zeichen ist (Zeiger auf
+eine Zeichenkette), die eine Folge aus multibyte-Zeichen darstellt,
+beginnend im ursprnglichen "initial shift state".
+Zeichen aus dem Feld werden in weite Zeichen umgewandelt. Dabei wird
+jedesmal die Funktion
+.B mbrtowc
+mit einem Umsetzungszustand aufgerufen, beginnend im initialen Zustand
+vor dem ersten Byte. Die weiten Zeichen werden bis zum Endcode
+"Null" (aber nicht inklusive) geschrieben. Wird eine Genauigkeit
+angegeben, so werden nicht mehr weite Zeichen als die angegebene
+Anzahl geschrieben. Beachten Sie, da die Genauigkeit die Anzahl der
+.IR "weiten Zeichen" ,
+und nicht die Anzahl der
+.I Bytes
+oder
+.I "screen positions"
+bezeichnet.
+
+Das Feld mu eine "Null" als Endbyte beinhalten, es sei denn, eine Genauigkeit
+ist angegeben und diese ist so klein, da die Anzahl der weiten Zeichen
+grer ist, als die vorgesehene Breite. --
+Wenn der Modifikator
+.B I
+vorhanden ist, wird ein Argument
+.IR "" `` "const wchar_t *" ''
+erwartet, das ein Zeiger auf ein Feld von weiten Zeichen ist.
+Weite Zeichen von diesem Array werden bis zum weiten Null-Zeichen
+geschrieben. (aber nicht inklusive)
+Wenn eine Genauigkeit angegeben wird, werden nicht mehr als die
+angegebene Anzahl von Zeichen geschrieben. Das Feld mu ein
+Endzeichen beinhalten, es sei denn, es
+ist eine Genauigkeit angegeben, die kleiner oder gleich der Anzahl
+der weiten Zeichen in dem Feld ist.
+.SH "RCKGABEWERT"
+Die Funktionen geben die Anzahl der geschrieben weiten Zeichen zurck,
+ausschlielich der terminierenden weiten Null, im Fall der Funktionen
+.B swprintf
+und
+.BR vswprintf .
+Im Fehlerfall wird -1 zurckgegeben.
+.SH BEMERKUNGEN
+Das Verhalten von
+.B wprintf
+hngt u.a. von LC_TYPE der aktuellen Lndereinstellung ab.
+.PP
+Falls die Zeichenkette
+.I format
+weiten Zeichen enthlt, die keine ASCII-Zeichen sind, wird das
+Programm nur dann richtig arbeiten, wenn der LC_CTYPE der
+Lndereinstellung whrend der Laufzeit die gleiche ist, wie der
+LC_CTYPE whrend des Compilierens. Das passiert, weil der Datentyp
+.B wchar_t
+Platform- und Lnderabhngig ist. (Die GNU Libc speichert weite Zeichen
+als Unicode (ISO-10646), andere Plattformen haben andere Lsungen. Auch die
+Verwendung von ISO C99 "universal character names" der Form \\unnnn helfen
+nicht.) Daher sollte die Zeichenkette
+.I format
+in internationalisierten Programmen ausschlielich aus weiten
+ASCII-Zeichen bestehen oder whrend der Laufzeit konstruiert werden
+(z.B. durch
+.B gettext
+oder
+.B iconv
+gefolgt von einem
+.BR mbstows ).
+.SH "KONFORM ZU"
+ISO/ANSI C, UNIX98
+.SH "SIEHE AUCH"
+.BR printf (3),
+.BR fprintf (3),
+.BR snprintf (3),
+.BR fputwc (3),
+.BR fwide (3),
+.BR wscanf (3).
--- manpages-de/man3/fwprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/fwprintf.3 2002-02-10 18:45:37.000000000 +0100
@@ -0,0 +1 @@
+.so man3/wprintf.3
--- manpages-de/man3/swprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/swprintf.3 2002-02-10 18:45:37.000000000 +0100
@@ -0,0 +1 @@
+.so man3/wprintf.3
--- manpages-de/man3/vfwprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/vfwprintf.3 2002-02-10 18:45:37.000000000 +0100
@@ -0,0 +1 @@
+.so man3/wprintf.3
--- manpages-de/man3/vswprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/vswprintf.3 2002-02-10 18:45:37.000000000 +0100
@@ -0,0 +1 @@
+.so man3/wprintf.3
--- manpages-de/man3/vwprintf.3 1970-01-01 01:00:00.000000000 +0100
+++ manpages-de/man3/vwprintf.3 2002-02-10 18:45:37.000000000 +0100
@@ -0,0 +1 @@
+.so man3/wprintf.3
|