.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) 2001 John Levon <moz@compsoc.man.ac.uk>
.\" Based in part on GNU libc documentation
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH getline 3 "20 lipca 2023 r." "Linux man\-pages 6.05.01" 
.SH NAZWA
getline, getdelim \- wprowadzanie łańcuchów rozgraniczonych
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <stdio.h>\fP
.PP
\fBssize_t getline(char **restrict \fP\fIlineptr\fP\fB, size_t *restrict \fP\fIn\fP\fB,\fP
\fB                FILE *restrict \fP\fIstream\fP\fB);\fP
\fBssize_t getdelim(char **restrict \fP\fIlineptr\fP\fB, size_t *restrict \fP\fIn\fP\fB,\fP
\fB                int \fP\fIdelim\fP\fB, FILE *restrict \fP\fIstream\fP\fB);\fP
.fi
.PP
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.PP
\fBgetline\fP(), \fBgetdelim\fP():
.nf
    Od glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Przed glibc 2.10:
        _GNU_SOURCE
.fi
.SH OPIS
\fBgetline\fP() odczytuje całą linię ze strumienia \fIstream\fP, przechowując
adres bufora zawierającego tekst w \fI*lineptr\fP. Bufor jest zakończony
znakiem NULL i zawiera znak nowej linii, jeśli go napotkano.
.PP
If \fI*lineptr\fP is set to NULL before the call, then \fBgetline\fP()  will
allocate a buffer for storing the line.  This buffer should be freed by the
user program even if \fBgetline\fP()  failed.
.PP
Alternatywnie, przed wywołaniem \fBgetline\fP() \fI*lineptr\fP może zawierać
wskaźnik do bufora przydzielonego za pomocą \fBmalloc\fP() o rozmiarze \fI*n\fP
bajtów. Gdy rozmiar bufora nie jest wystarczający do umieszczenia w nim
odczytanej linii, \fBgetline\fP() rozszerzy go do odpowiedniego rozmiaru za
pomocą \fBrealloc\fP(), modyfikując \fI*lineptr\fP i \fI*n\fP, jeśli będzie to
potrzebne.
.PP
W każdym razie, po pomyślnym wywołaniu \fI*lineptr\fP i \fI*n\fP będą
zaktualizowane tak, aby odzwierciedlić, odpowiednio, adres i rozmiar bufora.
.PP
\fBgetdelim\fP() działa jak \fBgetline\fP(), z tym wyjątkiem że jako argument
\fIdelimiter\fP można podać ogranicznik linii inny niż znak nowej
linii. Podobnie jak dla \fBgetline\fP(), znak ogranicznika nie jest dodawany,
gdy nie występował w danych wejściowych przed osiągnięciem końca pliku.
.SH "WARTOŚĆ ZWRACANA"
On success, \fBgetline\fP()  and \fBgetdelim\fP()  return the number of characters
read, including the delimiter character, but not including the terminating
null byte (\[aq]\e0\[aq]).  This value can be used to handle embedded null
bytes in the line read.
.PP
Both functions return \-1 on failure to read a line (including end\-of\-file
condition).  In the event of a failure, \fIerrno\fP is set to indicate the
error.
.PP
If \fI*lineptr\fP was set to NULL before the call, then the buffer should be
freed by the user program even on failure.
.SH BŁĘDY
.TP 
\fBEINVAL\fP
Błędne wartości parametrów (\fIn\fP lub \fIlineptr\fP równe NULL lub nieprawidłowy
\fIstream\fP).
.TP 
\fBENOMEM\fP
Nie powiódł się przydział pamięci dla bufora linii.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBgetline\fP(),
\fBgetdelim\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.sp 1
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
GNU, POSIX.1\-2008.
.SH PRZYKŁADY
.\" SRC BEGIN (getline.c)
.EX
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
\&
int
main(int argc, char *argv[])
{
    FILE *stream;
    char *line = NULL;
    size_t len = 0;
    ssize_t nread;
\&
    if (argc != 2) {
        fprintf(stderr, "Usage: %s <file>\en", argv[0]);
        exit(EXIT_FAILURE);
    }
\&
    stream = fopen(argv[1], "r");
    if (stream == NULL) {
        perror("fopen");
        exit(EXIT_FAILURE);
    }
\&
    while ((nread = getline(&line, &len, stream)) != \-1) {
        printf("Retrieved line of length %zd:\en", nread);
        fwrite(line, nread, 1, stdout);
    }
\&
    free(line);
    fclose(stream);
    exit(EXIT_SUCCESS);
}
.EE
.\" SRC END
.SH "ZOBACZ TAKŻE"
\fBread\fP(2), \fBfgets\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBscanf\fP(3)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>,
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
