Asprintf 3 C Funkcja

Asprintf 3 C Funkcja

„Asprintf” to skrót do „przydzielania sformatowanego druku smyczkowego”. „Asprintf ()” daje wyjście w idealnym rozmiarze bufora, który jest przydzielony w funkcji. „Asprintf” jest identyczny z „printf”, ale jedyną różnicą między tym polecenie. Kończy sznur z null znakiem. Oddaje całkowitą ilość znaków, z wyjątkiem ostatniego null.

W tym przewodniku zbadamy tę koncepcję „asprintf ()” w głębokich szczegółach i zrobimy praktyczne przykłady, w których używamy funkcji „asprintf ()” w programowaniu C. Wyjaśnimy również przykłady, aby uzyskać lepsze zrozumienie.

Składnia funkcji asprintf 3 w języku C

# int asprintf (char ** ret, const char *format,…);

Początkowy argument to adres wskaźnika. Pozostałe 2 parametry są takie same, jak używaliśmy do printf ().

Przykład 1:

Podane przykłady w tym przewodniku są uruchamiane w Ubuntu 20.04. Dlatego GCC musi być zainstalowany dla Ubuntu 20.04 Aby to zrealizować. Najpierw instalujemy ten GCC. Po zainstalowaniu tworzymy kod w języku programowania C, aby pokazać, jak działa funkcja „asprintf ()”.

Tutaj używamy Ubuntu 20.04 edytor tekstu, aby napisać jakiś kod. Najpierw dodajemy plik nagłówka, taki jak „” do następującego kodu. Ten plik nagłówka jest używany, ponieważ zawiera informacje o funkcjach wejściowych lub wyjściowych w kodzie C. Mamy funkcję „main ()” i jest to zadeklarowane jako typ danych „int”. Następnie mamy „bufor”, a typ danych tego „bufor” to „char”. Następnie mamy typ danych „int” i deklarujemy zmienną „r” jako „int”.

Teraz przypisujemy funkcję „asprintf ()” do tego „r”. W tej funkcji „asprintf ()” umieszczamy adres „bufora”, a następnie mamy linię, którą chcemy wydrukować na ekranie. Bufor jest przydzielany, a jego rozmiar jest poprawnie ustawiony w metodzie asprintf (), dzięki czemu utrzymuje dane wyjściowe po sformatowaniu. Przepełnienie nie jest możliwe. Następnie używamy instrukcji „Puts”, która służy do drukowania wiersza lub ciągu na terminalu. Wyświetlana jest zawartość bufora. Wartość zwracana z metody asprintf (), która jest przechowywana w zmiennej „r”, jest również drukowana. Ta wartość odzwierciedla długość zwróconego ciągu. Służy do renderowania charakteru łańcucha. W ostatniej części tego kodu używamy „powrotu 0”.

Poniżej znajduje się wynik poprzedniego kodu. Używamy tutaj „G ++”. Kompilator GNU obsługuje to polecenie „G ++”, a ta funkcja „asprintf” jest kompilowana przez to polecenie, które napisaliśmy w wyjściu. Możesz łatwo uzyskać dane wyjściowe tych kodów, wpisując polecenia, które są pokazane na poniższym zrzucie ekranu. Możesz zobaczyć, że drukuje całkowitą liczbę, dodając liczby, które włożliśmy do poprzedniego kodu. Policz znak i wyświetl ją tutaj.

Przykład 2:

Teraz mamy inny przykład. Rozpoczynamy nasz kod od umieszczania „stdio. H ”plik nagłówka. Ten plik nagłówka jest wykorzystywany, ponieważ zawiera szczegóły do ​​włączenia funkcji wejściowych lub wyjściowych w kodzie C. Następnie umieszczamy „main ()” typu danych „int”. Po tej funkcji „main ()” deklarujemy zmienną o nazwie „my_string” i „char”, które reprezentują typ danych tej zmiennej.

Następnie wykorzystujemy funkcję „asprintf ()” i stawiamy adres „my_string”. Umieszczamy również ciąg, który chcemy renderować na ekranie. Tutaj umieściliśmy „%D”, który jest używany do liczb całkowitych. Dostaje liczbę całkowitą zapisaną w funkcji „asprintf ()”. Następnie wykorzystujemy instrukcję „Puts”, która służy do wydrukowania podanej instrukcji na ekranie wyjściowym. Zawartość „my_string” jest renderowana na terminalu.

Below this, we use the “asprintf()” function again and pass the address of the char variable inside this “asprintf()”. Używamy „%s”, który reprezentuje dane ciągu. Pobiera dane ciągów, które podajemy na końcu tej funkcji „asprintf ()”. Aby usunąć to na ekranie wyjściowym, wykorzystujemy instrukcję „Puts”. W instrukcji „Puts” używamy nazwy zmiennej char: my_string ”. Na końcu tego kodu umieszczamy instrukcję „Return 0”, a następnie zamykamy wspornik funkcji Main ().

Spójrz na następujące dane wyjściowe. Możesz zauważyć, że drukuje „4” zamiast „%d” i drukuje „ciasto” zamiast „%s”. Otrzymujemy to wyjście, wpisując polecenia „g ++”. W naszym poprzednim kodzie omówiliśmy już to polecenie „G ++”.

Wniosek

Głównym celem tego przewodnika jest pokazanie, jak korzystać z funkcji programowania „asprintf ()”. Cel funkcji, wykorzystanie i wyniki „asprintf ()” zostały omówione w tym przewodniku. Funkcja C „asprintf ()” jest już tutaj omawiana. Jak omówiliśmy, funkcja „asprintf ()” w C jest używana do podania wyjścia w idealnym rozmiarze bufora, który jest przydzielony w funkcji. Przyjrzeliśmy się wielu przykładom tutaj. Wyświetlane są dane wyjściowe z każdego przykładu w tym przewodniku, a także kody programowania C do wykorzystania funkcji „asprintf ()”. Mamy nadzieję, że po starannym i głębokim studiowaniu tego przewodnika otrzymasz dobrą wiedzę na temat funkcji „asprintf ()”.