.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2001 John Levon .\" 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 "5 lutego 2023 r." "Linux man\-pages 6.03" .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 \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). .ad l .nh .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ \fBgetline\fP(), \fBgetdelim\fP() T} Bezpieczeństwo wątkowe MT\-Safe .TE .hy .ad .sp 1 .SH STANDARDY Zarówno \fBgetline\fP(), jak i \fBgetdelim\fP() są rozszerzeniami GNU. Zostały dołączone do standardu POSIX.1\-2008. .SH PRZYKŁADY .\" SRC BEGIN (getline.c) .EX #define _GNU_SOURCE #include #include int main(int argc, char *argv[]) { FILE *stream; char *line = NULL; size_t len = 0; ssize_t nread; if (argc != 2) { fprintf(stderr, "Użycie: %s \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 , Robert Luberda i Michał Kułach . .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 .