.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1980, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the American National Standards Committee X3, on Information .\" Processing Systems. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)setbuf.3 6.10 (Berkeley) 6/29/91 .\" .\" Converted for Linux, Mon Nov 29 14:55:24 1993, faith@cs.unc.edu .\" Added section to BUGS, Sun Mar 12 22:28:33 MET 1995, .\" Thomas.Koenig@ciw.uni-karlsruhe.de .\" Correction, Sun, 11 Apr 1999 15:55:18, .\" Martin Vicente .\" Correction, 2000-03-03, Andreas Jaeger .\" Added return value for setvbuf, aeb, .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setbuf 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME setbuf, setbuffer, setlinebuf, setvbuf, setvbuf \- operații asupra memoriei tampon a fluxurilor .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBint setvbuf(FILE *restrict \fP\fIstream\fP\fB, char \fP\fIbuf\fP\fB[restrict .\fP\fIsize\fP\fB],\fP \fB int \fP\fImode\fP\fB, size_t \fP\fIsize\fP\fB);\fP .PP \fBvoid setbuf(FILE *restrict \fP\fIstream\fP\fB, char *restrict \fP\fIbuf\fP\fB);\fP \fBvoid setbuffer(FILE *restrict \fP\fIstream\fP\fB, char \fP\fIbuf\fP\fB[restrict .\fP\fIsize\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB);\fP \fBvoid setlinebuf(FILE *\fP\fIstream\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBsetbuffer\fP(), \fBsetlinebuf\fP(): .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _BSD_SOURCE .fi .SH DESCRIERE Cele trei tipuri de operații cu memorie tampon disponibile, sunt: fără memorie tampon, cu memorie tampon de bloc și cu memorie tampon de linie. Atunci când un flux de ieșire este fără memorie tampon, informațiile apar în fișierul sau terminalul de destinație imediat ce sunt scrise; atunci când este cu memorie tampon de bloc, mai multe caractere sunt salvate și scrise ca un bloc; atunci când este cu memorie tampon de linie, caracterele sunt salvate până când este emisă o nouă linie sau până când este citită o intrare din orice flux atașat la un dispozitiv terminal (de obicei \fIstdin\fP). Funcția \fBfflush\fP(3) poate fi utilizată pentru a forța ieșirea anticipată a blocului; (a se vedea \fBfclose\fP(3)). .PP În mod normal, toate fișierele sunt stocate în bloc. În cazul în care un flux se referă la un terminal (așa cum face în mod normal \fIstdout\fP), acesta este stocat în memoria tampon pe linie. Fluxul de eroare standard \fIstderr\fP este întotdeauna fără stocare în memoria tampon în mod implicit. .PP Funcția \fBsetvbuf\fP() poate fi utilizată pe orice flux deschis pentru a modifica memoria tampon. Argumentul \fImode\fP trebuie să fie una dintre următoarele trei macrocomenzi: .RS .TP \fB_IONBF\fP fără stocare în memoria tampon .TP \fB_IOLBF\fP stocare în memoria tampon pe linie .TP \fB_IOFBF\fP stocare completă în memoria tampon .RE .PP Cu excepția fișierelor fără memorie tampon, argumentul \fIbuf\fP trebuie să indice o memorie tampon cu o lungime de cel puțin \fIsize\fP octeți; această memorie tampon va fi utilizată în locul celei curente. În cazul în care argumentul \fIbuf\fP este NULL, este afectat doar modul; la următoarea operație de citire sau scriere se va aloca o nouă memorie tampon. Funcția \fBsetvbuf\fP() poate fi utilizată numai după deschiderea unui flux și înainte de a se efectua orice altă operațiune asupra acestuia. .PP Celelalte trei apeluri sunt, de fapt, simple alias pentru apelurile către \fBsetvbuf\fP(). Funcția \fBsetbuf\fP() este exact echivalentă cu apelul .PP .in +4n setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ); .in .PP Funcția \fBsetbuffer\fP() este identică, cu excepția faptului că dimensiunea memoriei tampon este la latitudinea apelantului, în loc să fie determinată de valoarea implicită \fBBUFSIZ\fP. Funcția \fBsetlinebuf\fP() este exact echivalentă cu apelul: .PP .in +4n setvbuf(stream, NULL, _IOLBF, 0); .in .SH "VALOAREA RETURNATĂ" Funcția \fBsetvbuf\fP() returnează 0 în caz de succes. În caz de eșec (\fImode\fP nu este valid sau cererea nu poate fi onorată), returnează o valoare diferită de zero. În caz de eșec, poate configura \fIerrno\fP. .PP Celelalte funcții nu returnează nicio valoare. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBsetbuf\fP(), \fBsetbuffer\fP(), \fBsetlinebuf\fP(), \fBsetvbuf\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH STANDARDE .TP \fBsetbuf\fP() .TQ \fBsetvbuf\fP() C11, POSIX.1\-2008. .SH ISTORIC .TP \fBsetbuf\fP() .TQ \fBsetvbuf\fP() C89, POSIX.1\-2001. .SH AVERTISMENTE .\" https://www.austingroupbugs.net/view.php?id=397#c799 .\" 0000397: setbuf and errno POSIX notează că valoarea lui \fIerrno\fP este nespecificată după un apel la \fBsetbuf\fP() și notează, de asemenea, că, din moment ce valoarea lui \fIerrno\fP nu trebuie să rămână neschimbată după un apel reușit la \fBsetbuf\fP(), aplicațiile ar trebui să utilizeze în schimb \fBsetvbuf\fP() pentru a detecta erorile. .SH ERORI .\" The .\" .BR setbuffer () .\" and .\" .BR setlinebuf () .\" functions are not portable to versions of BSD before 4.2BSD, and .\" are available under Linux since libc 4.5.21. .\" On 4.2BSD and 4.3BSD systems, .\" .BR setbuf () .\" always uses a suboptimal buffer size and should be avoided. .\".PP Trebuie să vă asigurați că spațiul către care indică \fIbuf\fP încă mai există în momentul în care \fIstream\fP este închis, ceea ce se întâmplă, de asemenea, la terminarea programului. De exemplu, următorul lucru nu este valabil: .PP .\" [[invalid]] SRC BEGIN (setbuf.c) .EX #include \& int main(void) { char buf[BUFSIZ]; \& setbuf(stdout, buf); printf("Salutare lume!\en"); return 0; } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBstdbuf\fP(1), \fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBmalloc\fP(3), \fBprintf\fP(3), \fBputs\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .