logo

Funkcje pobiera() i puts() w języku C

Funkcje gets() i puts() są zadeklarowane w pliku nagłówkowym stdio.h. Obie funkcje biorą udział w operacjach wejścia/wyjścia na ciągach znaków.

Funkcja C pobiera().

Funkcja gets() umożliwia użytkownikowi wprowadzenie kilku znaków, po których następuje klawisz Enter. Wszystkie znaki wprowadzone przez użytkownika są zapisywane w tablicy znaków. Do tablicy dodawany jest znak null, tworząc ciąg znaków. Funkcja gets() umożliwia użytkownikowi wprowadzenie ciągów znaków oddzielonych spacjami. Zwraca ciąg wprowadzony przez użytkownika.

Deklaracja

 char[] gets(char[]); 

Czytanie ciągu za pomocą funkcji gets()

 #include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); } 

Wyjście

 Enter the string? javatpoint is the best You entered javatpoint is the best 

Użycie funkcji gets() jest ryzykowne, ponieważ nie sprawdza ona żadnych ograniczeń tablicy i czyta znaki aż do napotkania nowej linii (enter). Cierpi na przepełnienie bufora, którego można uniknąć, używając fgets(). Funkcja fgets() upewnia się, że odczytane zostanie nie więcej niż maksymalny limit znaków. Rozważ następujący przykład.

 #include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); } 

Wyjście

 Enter the string? javatpoint is the best website javatpoint is the b 

Funkcja C stawia().

Funkcja puts() jest bardzo podobna do funkcji printf(). Funkcja puts() służy do wypisywania na konsoli ciągu znaków, który został wcześniej odczytany za pomocą funkcji gets() lub scanf(). Funkcja puts() zwraca wartość całkowitą reprezentującą liczbę znaków drukowanych na konsoli. Ponieważ wraz z ciągiem znaków drukuje dodatkowy znak nowej linii, co powoduje przeniesienie kursora do nowej linii na konsoli, wartość całkowita zwrócona przez puts() będzie zawsze równa liczbie znaków obecnych w ciągu plus 1.

Deklaracja

 int puts(char[]) 

Zobaczmy przykład odczytania ciągu za pomocą funkcji gets() i wydrukowania go na konsoli za pomocą metody puts().

ciąg na liczbę całkowitą
 #include #include int main(){ char name[50]; printf('Enter your name: '); gets(name); //reads string from user printf('Your name is: '); puts(name); //displays string return 0; } 

Wyjście:

 Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal