# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Alexander Golubev , 2018. # Azamat Hackimov , 2011, 2014-2016. # Hotellook, 2014. # Nikita , 2014. # Spiros Georgaras , 2016. # Vladislav , 2015. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-03-01 17:09+0100\n" "PO-Revision-Date: 2019-10-15 18:55+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " "(n%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Lokalize 2.0\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "stdarg" msgstr "" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "ИМЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "stdarg, va_start, va_arg, va_end, va_copy - variable argument lists" msgstr "" "stdarg, va_start, va_arg, va_end, va_copy - работа со списком переменного " "количества аргументов" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "СИНТАКСИС" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Estdarg.hE>\n" msgstr "B<#include Estdarg.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, >IB<);>\n" "IB< va_arg(va_list >IB<, >IB<);>\n" "BIB<);>\n" "BIB<, va_list >IB<);>\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "ОПИСАНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A function may be called with a varying number of arguments of varying " "types. The include file Istdarg.hE> declares a type I " "and defines three macros for stepping through a list of arguments whose " "number and types are not known to the called function." msgstr "" "Функцию можно вызвать передав ей произвольное количество аргументов разных " "типов. Во включаемом файле Istdarg.hE> объявляется тип I " "и определяется три макроса для пошагового обхода списка аргументов, чьё " "количество и типы неизвестны вызываемой функции." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The called function must declare an object of type I which is used " "by the macros B(), B(), and B()." msgstr "" "В вызываемой функции требуется объявить объект с типом I, который " "используется макросами B(), B() и B()." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "va_start()" msgstr "va_start()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() macro initializes I for subsequent use by " "B() and B(), and must be called first." msgstr "" "Макрос B() инициализирует I для последующего использования в " "B()и B(), и должен вызываться первым." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument I 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 "" "Аргумент I это имя последнего аргумента перед списком с переменным " "количеством аргументов, то есть это последний аргумент, тип которого " "известен вызывающей функции." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Because the address of this argument may be used in the B() " "macro, it should not be declared as a register variable, or as a function or " "an array type." msgstr "" "Так как адрес этого аргумента может быть использован в макросе " "B(), он не должен быть объявлен как регистровая переменная, иметь " "тип функции или массива." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "va_arg()" msgstr "va_arg()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() macro expands to an expression that has the type and value " "of the next argument in the call. The argument I is the I " "I initialized by B(). Each call to B() modifies " "I so that the next call returns the next argument. The argument I " "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." msgstr "" "Макрос B() раскрывается в выражение, которое имеет тип и значение " "следующего аргумента в вызове. Аргумент I — это I I, " "инициализированный B(). Каждый вызов B() изменяет I " "так, что следующий вызов возвращает следующий аргумент. Аргумент I — " "это имя типа, указанное так, что тип указателя на объект, который имеет " "указанный тип, можно получить просто добавив * в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The first use of the B() macro after that of the B() " "macro returns the argument after I. Successive invocations return the " "values of the remaining arguments." msgstr "" "Первый вызов макроса B() после B() вернёт аргумент после " "I. Последующие вызовы вернут значения оставшихся аргументов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If there is no next argument, or if I is not compatible with the type " "of the actual next argument (as promoted according to the default argument " "promotions), random errors will occur." msgstr "" "Если аргументы закончились, или если I не совместим с типом настоящего " "следующего аргумента (преобразование происходит согласно преобразованию " "аргументов по умолчанию), может произойти любая ошибка." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is passed to a function that uses BIB<,>IB<),> " "then the value of I is undefined after the return of that function." msgstr "" "Если I передан в функцию, которая использует BIB<," ">IB<),> то значение I не определено после возврата из функции." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "va_end()" msgstr "va_end()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Each invocation of B() must be matched by a corresponding " "invocation of B() in the same function. After the call " "BIB<)> the variable I is undefined. Multiple traversals of " "the list, each bracketed by B() and B() are possible. " "B() may be a macro or a function." msgstr "" "Каждый использование B() должно завершаться соответствующим " "вызовом B() в той же функции. После вызова BIB<)> " "значение переменной I не определено. Возможно несколько проходов по " "списку, если каждый из них начинать B() и заканчивать B(). " "Макрос B() может быть и функцией." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "va_copy()" msgstr "va_copy()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() macro copies the (previously initialized) variable " "argument list I to I. The behavior is as if B() were " "applied to I with the same I argument, followed by the same " "number of B() invocations that was used to reach the current state " "of I." msgstr "" "Макрос B() копирует (ранее инициализированный) список с переменным " "количеством аргументов I в I. Его действие такое же, как если бы " "B() применили к I с тем же аргументом I, после чего " "было бы совершено такое же количество вызовов B(), которое имеется в " "текущем состоянии I." #. Proposal from clive@demon.net, 1997-02-28 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "An obvious implementation would have a I 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 "" "Очевидной реализацией было бы создать переменную с типом I, " "указывающую на стековый фрейм функции с переменным количеством аргументов. В " "этом случае (безусловно, наиболее распространенном) кажется, что достаточно " "присвоения" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "va_list aq = ap;\n" msgstr "va_list aq = ap;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Unfortunately, there are also systems that make it an array of pointers (of " "length 1), and there one needs" msgstr "" "К сожалению, есть системы, в которых это массив указателей (длиной 1), и " "нужно делать" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "va_list aq;\n" "*aq = *ap;\n" msgstr "" "va_list aq;\n" "*aq = *ap;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Finally, on systems where arguments are passed in registers, it may be " "necessary for B() to allocate memory, store the arguments there, " "and also an indication of which argument is next, so that B() can " "step through the list. Now B() can free the allocated memory " "again. To accommodate this situation, C99 adds a macro B(), so " "that the above assignment can be replaced by" msgstr "" "Наконец, в системах, где аргументы передаются через регистры, в " "B() может потребоваться выделить память, сохранить там аргументы, " "а также индекс следующего элемента для того, чтобы B() мог обойти " "список. Также B() может освобождать выделенную память. Чтобы всё это " "учесть в C99 добавлен макрос B(), который позволяет показанное выше " "назначение заменить на" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, 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 #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Each invocation of B() must be matched by a corresponding " "invocation of B() in the same function. Some systems that do not " "supply B() have B<__va_copy> instead, since that was the name used " "in the draft proposal." msgstr "" "Для каждого вызова B() должен быть соответствующий вызов " "B() в той же функции. В некоторых системах нет B(), а есть " "B<__va_copy> — имя, которое использовалось в черновике стандарта." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "АТРИБУТЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "Описание терминов данного раздела смотрите в B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Интерфейс" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Атрибут" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Значение" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B(),\n" "B()" msgstr "" "B(),\n" "B(),\n" "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Безвредность в нитях" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. #-#-#-#-# archlinux: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# debian-bookworm: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: tbl table #. #-#-#-#-# debian-unstable: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-40: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-rawhide: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# mageia-cauldron: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-leap-15-6: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-tumbleweed: stdarg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe race:ap" msgstr "MT-Safe race:ap" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "СТАНДАРТЫ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C11, POSIX.1-2008." msgstr "C11, POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "va_start()" msgid "B()" msgstr "va_start()" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "va_end()" msgid "B()" msgstr "va_end()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C89, POSIX.1-2001." msgstr "C89, POSIX.1-2001." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "va_copy()" msgid "B()" msgstr "va_copy()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C99, POSIX.1-2001." msgstr "C99, POSIX.1-2001." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CAVEATS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Unlike the historical B macros, the B macros do not permit " "programmers to code a function with no fixed arguments. This problem " "generates work mainly when converting B code to B 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 argument, such as " "B(3)." msgstr "" "В отличие от исторических макросов B, макросы B не " "позволяют программистам создать функцию без постоянных аргументов. Эта " "проблема создаёт работу, в основном, при преобразовании кода B в " "код B, а также есть сложности с функциями с переменным количеством " "аргументов, которым нужно передать все их аргументы в функцию в виде " "аргумента с типом I, например B(3)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The function I takes a string of format characters and prints out the " "argument associated with each format character based on the type." msgstr "" "Функция I берёт строку с символами формата и печатает аргумент, " "связанный с каждым таким символом, на основе его типа." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, 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" msgid "" "#include Estdio.hE\n" "#include Estdarg.hE\n" "\\&\n" "void\n" "foo(char *fmt, ...) /* \\[aq]...\\[aq] is C syntax for a variadic function */\n" "\\&\n" "{\n" " va_list ap;\n" " int d;\n" " char c;\n" " char *s;\n" "\\&\n" " va_start(ap, fmt);\n" " while (*fmt)\n" " switch (*fmt++) {\n" " case \\[aq]s\\[aq]: /* string */\n" " s = va_arg(ap, char *);\n" " printf(\"string %s\\en\", s);\n" " break;\n" " case \\[aq]d\\[aq]: /* int */\n" " d = va_arg(ap, int);\n" " printf(\"int %d\\en\", d);\n" " break;\n" " case \\[aq]c\\[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: /* строка */\n" " s = va_arg(ap, char *);\n" " printf(\"строка %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: /* символ */\n" " /* здесь требуется преобразование, так как va_arg только\n" " с полностью описанными (promoted) типами */\n" " c = (char) va_arg(ap, int);\n" " printf(\"символ %c\\en\", c);\n" " break;\n" " }\n" " va_end(ap);\n" "}\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "СМ. ТАКЖЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "B(), B(), B():" msgid "B(3), B(3), B(3)" msgstr "B(), B(), B():" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 февраля 2023 г." #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: Plain text #: debian-bookworm msgid "C99." msgstr "C99." #. type: SH #: debian-bookworm #, no-wrap msgid "BUGS" msgstr "ДЕФЕКТЫ" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdarg.hE\n" msgstr "" "#include Estdio.hE\n" "#include Estdarg.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "void\n" #| "foo(char *fmt, ...) /* '...' is C syntax for a variadic function */\n" msgid "" "void\n" "foo(char *fmt, ...) /* \\[aq]...\\[aq] is C syntax for a variadic function */\n" msgstr "" "void\n" "foo(char *fmt, ...) /* «...» это синтаксис C для функции с\n" " переменным количеством аргументов */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "{\n" #| " va_list ap;\n" #| " int d;\n" #| " char c, *s;\n" msgid "" "{\n" " va_list ap;\n" " int d;\n" " char c;\n" " char *s;\n" msgstr "" "{\n" " va_list ap;\n" " int d;\n" " char c, *s;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, 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" msgid "" " va_start(ap, fmt);\n" " while (*fmt)\n" " switch (*fmt++) {\n" " case \\[aq]s\\[aq]: /* string */\n" " s = va_arg(ap, char *);\n" " printf(\"string %s\\en\", s);\n" " break;\n" " case \\[aq]d\\[aq]: /* int */\n" " d = va_arg(ap, int);\n" " printf(\"int %d\\en\", d);\n" " break;\n" " case \\[aq]c\\[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: /* строка */\n" " s = va_arg(ap, char *);\n" " printf(\"строка %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: /* символ */\n" " /* здесь требуется преобразование, так как va_arg только\n" " с полностью описанными (promoted) типами */\n" " c = (char) va_arg(ap, int);\n" " printf(\"символ %c\\en\", c);\n" " break;\n" " }\n" " va_end(ap);\n" "}\n" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "2023-07-20" msgstr "20 июля 2023 г." #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "Linux man-pages 6.05.01" msgstr "Linux man-pages 6.05.01" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 марта 2023 г." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04"