51 übersetzte Meldungen. Bitte um Korrektur.
Gruß, Chris
# German translation of manpages - stdarg.3. # This file is distributed under the same license as the manpages-de package. # Chris Leick <c.le...@vollbio.de>, 2011. # msgid "" msgstr "" "Project-Id-Version: manpages-de\n" "POT-Creation-Date: 2010-10-22 16:24+0300\n" "PO-Revision-Date: 2011-01-19 21:54+0100\n" "Last-Translator: Chris Leick <c.le...@vollbio.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #, no-wrap msgid "STDARG" msgstr "STDARG" #. type: TH #, no-wrap msgid "2001-10-14" msgstr "14. Oktober 2001" #. type: TH #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux-Programmierhandbuch" #. type: SH #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text msgid "stdarg, va_start, va_arg, va_end, va_copy - variable argument lists" msgstr "stdarg, va_start, va_arg, va_end, va_copy - variable Argument-Listen" #. type: SH #, no-wrap msgid "SYNOPSIS" msgstr "ÃBERSICHT" #. type: Plain text msgid "B<#include E<lt>stdarg.hE<gt>>" msgstr "B<#include E<lt>stdarg.hE<gt>>" #. type: Plain text msgid "B<void va_start(va_list >I<ap>B<, >I<last>B<);>" msgstr "B<void va_start( va_list >I<ap>B<, >I<letztes>B<);>" #. type: Plain text msgid "I<type>B< va_arg(va_list >I<ap>B<, >I<type>B<);>" msgstr "I<type>B< va_arg( va_list >I<ap>B<, >I<typ>B<);>" #. type: Plain text msgid "B<void va_end(va_list >I<ap>B<);>" msgstr "B<void va_end(va_list >I<ap>B<);>" #. type: Plain text msgid "B<void va_copy(va_list >I<dest>B<, va_list >I<src>B<);>" msgstr "B<void va_copy(va_list >I<ziel>B<, va_list >I<quelle>B<);>" #. type: SH #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: Plain text msgid "" "A function may be called with a varying number of arguments of varying " "types. The include file I<E<lt>stdarg.hE<gt>> declares a type I<va_list> " "and defines three macros for stepping through a list of arguments whose " "number and types are not known to the called function." msgstr "" "Eine Funktion kann mit einer veränderlichen Anzahl von Argumenten " "veränderlichen Typs aufgerufen werden. Die Include-Datei I<stdarg.h> " "deklariert einen Typ B<va_list> und definiert drei Makros, um eine Liste von " "Argumenten durchzugehen, deren Anzahl und Typen der aufgerufenen Funktion " "unbekannt sind." #. type: Plain text msgid "" "The called function must declare an object of type I<va_list> which is used " "by the macros B<va_start>(), B<va_arg>(), and B<va_end>()." msgstr "" "Die aufgerufene Funktion muss ein Objekt des Typs B<va_list> deklarieren, " "welches von den Makros B<va_start>(), B<va_arg>() und B<va_end>() benutzt " "wird." #. type: SS #, no-wrap msgid "va_start()" msgstr "va_start()" #. type: Plain text msgid "" "The B<va_start>() macro initializes I<ap> for subsequent use by B<va_arg>" "() and B<va_end>(), and must be called first." msgstr "" "Das Makro B<va_start>() initialisiert I<ap> für nachfolgende Benutzung durch " "B<va_arg>() und B<va_end>() und muss zuerst aufgerufen werden." #. type: Plain text msgid "" "The argument I<last> is the name of the last argument before the variable " "argument list, that is, the last argument of which the calling function " "knows the type." msgstr "" "Das Argument I<letztes> ist der Name des letzten Arguments vor der Liste der " "veränderlichen Argumente, das heisst, das letzt Argument, dessen Typ die " "aufrufende Funktion kennt." #. type: Plain text msgid "" "Because the address of this argument may be used in the B<va_start>() " "macro, it should not be declared as a register variable, or as a function or " "an array type." msgstr "" "Da die Adresse dieses Parameters im Makro B<va_start>() benutzt wird, sollte " "er nicht als eine Registervariable, als Funktion oder als ein Feldtyp " "deklariert sein." #. type: SS #, no-wrap msgid "va_arg()" msgstr "va_arg()" #. type: Plain text msgid "" "The B<va_arg>() macro expands to an expression that has the type and value " "of the next argument in the call. The argument I<ap> is the I<va_list> " "I<ap> initialized by B<va_start>(). Each call to B<va_arg>() modifies " "I<ap> so that the next call returns the next argument. The argument I<type> " "is a type name specified so that the type of a pointer to an object that has " "the specified type can be obtained simply by adding a * to I<type>." msgstr "" "Das Makro B<va_arg>() expandiert zu einem Ausdruck, der den Typ und Wert des " "nächsten aufzurufenden Argumentes hat. Das Argument I<ap> ist die B<va_list> " "I<ap>, initialisiert durch B<va_start>(). Jeder Aufruf von B<va_arg>() " "verändert I<ap> so, dass der nächste Aufruf das nächste Argument zurückgibt. " "Der Parameter I<typ> ist ein Typenname, der so angegeben ist, dass der Typ " "eines Zeigers auf ein Objekt, das den angegebenen Typ hat, einfach durch " "Hinzufügen eines * zu I<typ> erhalten werden kann." #. type: Plain text msgid "" "The first use of the B<va_arg>() macro after that of the B<va_start>() " "macro returns the argument after I<last>. Successive invocations return the " "values of the remaining arguments." msgstr "" "Die erste Benutzung des Makros B<va_arg>() nach B<va_start>() gibt das " "Argument nach I<letztes> zurück. Nachfolgende Aufrufe geben die Werte der " "verbleibenden Argumente zurück." #. type: Plain text msgid "" "If there is no next argument, or if I<type> is not compatible with the type " "of the actual next argument (as promoted according to the default argument " "promotions), random errors will occur." msgstr "" "Wenn es kein weiteres Argument gibt oder wenn I<typ> nicht kompatibel mit " "dem Typ des nächsten Argumentes ist (wie es entsprechend der " "Standardargumente befördert wird), erscheinen zufällige Fehler." #. type: Plain text msgid "" "If I<ap> is passed to a function that uses B<va_arg(>I<ap>B<,>I<type>B<)> " "then the value of I<ap> is undefined after the return of that function." msgstr "" "Falls I<ap> an eine Funktion übergeben wird, die " "B<va_arg(>I<ap>B<,>I<type>B<)> benutzt, dann ist der Wert von I<ap> nach der " "Rückkehr dieser Funktion undefiniert." #. type: SS #, no-wrap msgid "va_end()" msgstr "va_end()" #. type: Plain text msgid "" "Each invocation of B<va_start>() must be matched by a corresponding " "invocation of B<va_end>() in the same function. After the call B<va_end" "(>I<ap>B<)> the variable I<ap> is undefined. Multiple traversals of the " "list, each bracketed by B<va_start>() and B<va_end>() are possible. " "B<va_end>() may be a macro or a function." msgstr "" "Jeder Aufruf von B<va_start>() muss zu einem zugehörigen Aufruf von " "B<va_end>() in der gleichen Funktion passen. Nach dem Aufruf " "B<va_end(>I<ap>B<)> ist die Variable I<ap> undefiniert. Es sind mehrere " "Durchläufe der Liste möglich, jeweils von B<va_start>() und B<va_end>() " "eingeschlossen. B<va_end>() kann ein Makro oder eine Funktion sein." #. type: SS #, no-wrap msgid "va_copy()" msgstr "va_copy()" #. Proposal from cl...@demon.net, 1997-02-28 #. type: Plain text # http://www.a-m-i.de/tips/stack/stack.php # http://de.wikipedia.org/wiki/Variadische_Funktion msgid "" "An obvious implementation would have a I<va_list> be a pointer to the stack " "frame of the variadic function. In such a setup (by far the most common) " "there seems nothing against an assignment" msgstr "" "Eine eindeutige Implementierung hätte eine I<va_list>, die ein Zeiger auf den " "»Stack-Frame« der variadischen Funktion wäre. In einer derartigen Einrichtung " "(der bei weitem üblichsten) scheint nichts gegen folgende Zuweisung zu " "sprechen" #. type: Plain text #, no-wrap msgid "va_list aq = ap;\n" msgstr "va_list aq = ap;\n" #. type: Plain text msgid "" "Unfortunately, there are also systems that make it an array of pointers (of " "length 1), and there one needs" msgstr "" "Leider gibt es auch Systeme, die es als Feld von Zeigern (der Länge 1) " "anlegen und ein solches benötigen." #. type: Plain text #, no-wrap msgid "" "va_list aq;\n" "*aq = *ap;\n" msgstr "" "va_list aq;\n" "*aq = *ap;\n" #. type: Plain text msgid "" "Finally, on systems where arguments are passed in registers, it may be " "necessary for B<va_start>() to allocate memory, store the arguments there, " "and also an indication of which argument is next, so that B<va_arg>() can " "step through the list. Now B<va_end>() can free the allocated memory " "again. To accommodate this situation, C99 adds a macro B<va_copy>(), so " "that the above assignment can be replaced by" msgstr "" "Letztlich könnte es auf Systemen, auf denen Argumente in Registern übergeben " "werden, für B<va_start>() nötig sein, Speicher zu reservieren, die Argumente " "und auÃerdem eine Anzeige, welches Argument das nächste ist, dort zu " "speichern, so dass B<va_arg>() die Liste durchgehen kann. Nun kann " "B<va_end>() den reservierten Speicher wieder freigeben. Um sich an diese " "Situation anzupassen, fügt C99 ein Makro B<va_copy>() hinzu, so dass obige " "Zuweisung durch Folgendes ersetzt werden kann" #. type: Plain text #, no-wrap msgid "" "va_list aq;\n" "va_copy(aq, ap);\n" "\\&...\n" "va_end(aq);\n" msgstr "" "va_list aq;\n" "va_copy(aq, ap);\n" "\\&...\n" "va_end(aq);\n" #. type: Plain text msgid "" "Each invocation of B<va_copy>() must be matched by a corresponding " "invocation of B<va_end>() in the same function. Some systems that do not " "supply B<va_copy>() have B<__va_copy> instead, since that was the name used " "in the draft proposal." msgstr "" "Jeder Aufruf von B<va_copy>() muss zu einem zugehörigen Aufruf von " "B<va_end>() in der gleichen Funktion passen. Einige Systeme, die kein " "B<va_copy>() bereitstellen, haben stattdessen B<__va_copy>, da das der " "gleiche Name ist, der im Entwurfsvorschlag benutzt wurde." #. type: SH #, no-wrap msgid "CONFORMING TO" msgstr "KONFORM ZU" #. type: Plain text msgid "" "The B<va_start>(), B<va_arg>(), and B<va_end>() macros conform to C89. C99 " "defines the B<va_copy>() macro." msgstr "" "Die Makros B<va_start>(), B<va_arg>() und B<va_end>() sind konform zu C89. " "C99 definiert das Makro B<va_copy>()." #. type: SH #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" #. type: Plain text msgid "" "These macros are I<not> compatible with the historic macros they replace. A " "backward compatible version can be found in the include file I<E<lt>varargs." "hE<gt>>." msgstr "" "Diese Makros sind I<nicht> kompatibel mit den historischen Makros, die sie " "ersetzen. Eine abwärtskompatible Version kann in der Include-Datei " "I<E<lt>varargs.hE<gt>> gefunden werden." #. type: Plain text msgid "The historic setup is:" msgstr "Die historische Einstellung ist:" #. type: Plain text #, no-wrap msgid "#include E<lt>varargs.hE<gt>\n" msgstr "#include E<lt>varargs.hE<gt>\n" #. type: Plain text #, no-wrap msgid "" "void\n" "foo(va_alist)\n" " va_dcl\n" "{\n" " va_list ap;\n" msgstr "" "void\n" "foo(va_alist)\n" " va_dcl\n" "{\n" " va_list ap;\n" #. type: Plain text #, no-wrap msgid "" " va_start(ap);\n" " while (...) {\n" " ...\n" " x = va_arg(ap, type);\n" " ...\n" " }\n" " va_end(ap);\n" "}\n" msgstr "" " va_start(ap);\n" " while (...) {\n" " ...\n" " x = va_arg(ap, type);\n" " ...\n" " }\n" " va_end(ap);\n" "}\n" #. type: Plain text msgid "" "On some systems, I<va_end> contains a closing \\(aq}\\(aq matching a \\(aq" "{\\(aq in I<va_start>, so that both macros must occur in the same function, " "and in a way that allows this." msgstr "" "Auf einigen Systemen enthält I<va_end> eine abschlieÃende »}«, die zu einer " "»{« in I<va_start> passt, so dass beide Makros in der gleichen Funktion " "auf eine Weise erscheinen müssen, die dies möglicht." #. type: SH #, no-wrap msgid "BUGS" msgstr "FEHLER" #. type: Plain text msgid "" "Unlike the B<varargs> macros, the B<stdarg> macros do not permit programmers " "to code a function with no fixed arguments. This problem generates work " "mainly when converting B<varargs> code to B<stdarg> code, but it also " "creates difficulties for variadic functions that wish to pass all of their " "arguments on to a function that takes a I<va_list> argument, such as " "B<vfprintf>(3)." msgstr "" "Im Gegensatz zu den Makros B<varargs> erlauben die Makros B<stdarg> dem " "Programmierer nicht, eine Funktion ohne feste Argumente zu implementieren. " "Dieses Problem macht hauptsächlich Arbeit, wenn man Code mit B<varargs> nach " "B<stdarg> konvertiert, aber es erzeugt auch Schwierigkeiten bei " "veränderlichen Funktionen die wünschen, ihre Argumente an eine Funktion " "weiterzugeben, die ein Argument B<va_list> aufnimmt, so wie B<vfprintf>(3)." #. type: SH #, no-wrap msgid "EXAMPLE" msgstr "BEISPIEL" #. type: Plain text msgid "" "The function I<foo> takes a string of format characters and prints out the " "argument associated with each format character based on the type." msgstr "" "Die Funktion I<foo> nimmt eine Zeichenkette von Formatzeichen und gibt das " "Argument aus, das mit jedem Formatzeichen in Zusammenhang gebracht wird, " "basierend auf dem Typ." #. type: Plain text #, no-wrap msgid "" "#include E<lt>stdio.hE<gt>\n" "#include E<lt>stdarg.hE<gt>\n" msgstr "" "#include E<lt>stdio.hE<gt>\n" "#include E<lt>stdarg.hE<gt>\n" #. type: Plain text #, no-wrap msgid "" "void\n" "foo(char *fmt, ...)\n" "{\n" " va_list ap;\n" " int d;\n" " char c, *s;\n" msgstr "" "void\n" "foo(char *fmt, ...)\n" "{\n" " va_list ap;\n" " int d;\n" " char c, *s;\n" #. type: Plain text #, no-wrap msgid "" " va_start(ap, fmt);\n" " while (*fmt)\n" " switch (*fmt++) {\n" " case \\(aqs\\(aq: /* string */\n" " s = va_arg(ap, char *);\n" " printf(\"string %s\\en\", s);\n" " break;\n" " case \\(aqd\\(aq: /* int */\n" " d = va_arg(ap, int);\n" " printf(\"int %d\\en\", d);\n" " break;\n" " case \\(aqc\\(aq: /* char */\n" " /* need a cast here since va_arg only\n" " takes fully promoted types */\n" " c = (char) va_arg(ap, int);\n" " printf(\"char %c\\en\", c);\n" " break;\n" " }\n" " va_end(ap);\n" "}\n" msgstr "" " va_start(ap, fmt);\n" " while (*fmt)\n" " switch (*fmt++) {\n" " case \\(aqs\\(aq: /* Zeichenkette */\n" " s = va_arg(ap, char *);\n" " printf(\"string %s\\en\", s);\n" " break;\n" " case \\(aqd\\(aq: /* Ganzzahl */\n" " d = va_arg(ap, int);\n" " printf(\"int %d\\en\", d);\n" " break;\n" " case \\(aqc\\(aq: /* Zeichen */\n" " /* hier wird eine Typumwandlung benötigt, da va_arg\n" " nur vollständig unterstützte Typen aufnimmt */\n" " c = (char) va_arg(ap, int);\n" " printf(\"Zeichen %c\\en\", c);\n" " break;\n" " }\n" " va_end(ap);\n" "}\n" #. type: SH #, no-wrap msgid "COLOPHON" msgstr "KOLOPHON" #. type: Plain text msgid "" "This page is part of release 3.27 of the Linux I<man-pages> project. A " "description of the project, and information about reporting bugs, can be " "found at http://www.kernel.org/doc/man-pages/." msgstr "" "Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-I<man-" "pages>. Eine Beschreibung des Projekts und Informationen, wie Fehler " "gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-" "pages/."