W tym artykule wyjaśnimy składnię, parametry, zwracanie wartości i działanie snprintf () funkcja w c++. Można znaleźć pełne zrozumienie snprintf () W tym przewodniku.
Co to jest snprintf () w c++
W c++, snprintf () jest funkcją używaną do formatowania lub przechowywania serii wartości znaków i ciągów zapisanych w buforze. Działa podobnie jak sprintf () Funkcja, ale ma zdolność do pokonania przepełnień buforu. plik nagłówka zawiera snprint () funkcja i należy ją zadeklarować, jeśli chcesz użyć funkcji w swoim programie. snprintf () funkcja określa maksymalną zawartość, jaką mógłby mieć bufor.
Podana poniżej jest składnią do użycia snprintf () Funkcja w C ++:
snprintf (Char* Bufor, size_t buf_size, const char* format,…);
Po napisaniu bohaterów wstawiono końcową postać zerową. Jeśli max_bufSize wynosi zero, nic nie jest przechowywane, a bufor może działać jako wskaźnik zerowy.
Parametry Snprintf ()
Poniżej znajdują się parametry używane w snprintf () funkcjonować.
Powinno istnieć co najmniej tyle takich parametrów, ile istnieją wartości specyfikatora formatu. Funkcja ignoruje dodatkowy argument.
Co powraca snprintf ()
Jeśli funkcja się powiodła, zwraca liczbę znaków, które zostałyby uznane za napisane dla odpowiednio dużego bufora, z wyłączeniem końcowego znaku zerowego. Kiedy się nie powiedzie, daje wartość ujemną. Dane wyjściowe zostanie uznane za całkowicie napisane, jeśli i tylko wtedy, gdy zwrócona wartość nie jest ujemna i jest mniejsza niż max_bufSize.
Jak używać snprintf () w c++
Oto przykład użycia Snprintf () w C ++:
Przykład
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char Buff_Size [60];
int return_value, max_bufSize = 60;
char str [] = "Linuxhint";
artykuły int = 45;
return_value = snprintf (Buff_Size, max_bufSize, „Hello %s Użytkownicy, przeczytajmy artykuły %D o bash”, str, artykuły);
if (return_value> 0 && return_value < MAX_BUFSIZE)
Cout << buff_size << endl;
Cout << "Number of characters written = " << return_Value << endl;
w przeciwnym razie
Cout << "Error writing to buffer" << endl;
powrót 0;
W powyższym kodzie ustawiamy maksymalny rozmiar bufora na 60. Oznacza to, że kod zaakceptuje znaki nie więcej niż 60. Użyliśmy snprintf () funkcja wyświetlania ciągu, która ma 56 znaków i będzie wyświetlany na terminalu wyjściowym. W przypadku, gdy wprowadzone znaki wynosi ponad 60, program będzie przez błąd.
Wniosek
Wykazaliśmy prototyp, parametry, wartości zwrotne i działanie C++ snprintf () funkcja, która zapisuje sformatowany ciąg do bufora sznurka znaków. Opisaliśmy przykład z pełnym zrozumieniem snprintf () W tym przewodniku.