logo

Функции C gets() и puts().

Gets() и puts() са декларирани в заглавния файл stdio.h. И двете функции участват във входно/изходните операции на низовете.

Функция C gets().

Функцията gets() позволява на потребителя да въведе някои знаци, последвани от клавиша enter. Всички знаци, въведени от потребителя, се съхраняват в масив от знаци. Нулевият знак се добавя към масива, за да го превърне в низ. Gets() позволява на потребителя да въвежда разделени с интервал низове. Връща низа, въведен от потребителя.

Декларация

 char[] gets(char[]); 

Четене на низ чрез gets()

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

Изход

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

Използването на функцията gets() е рисковано, тъй като тя не извършва никаква проверка на обвързаността на масива и продължава да чете символите, докато не се срещне новият ред (enter). Страда от препълване на буфера, което може да се избегне с помощта на fgets(). fgets() гарантира, че не се четат повече от максималния лимит от знаци. Помислете за следния пример.

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

Изход

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

Функция C puts().

Функцията puts() е много подобна на функцията printf(). Функцията puts() се използва за отпечатване на низа на конзолата, който преди това е бил прочетен с помощта на функцията gets() или scanf(). Функцията puts() връща целочислена стойност, представляваща броя на символите, които се отпечатват на конзолата. Тъй като той отпечатва допълнителен символ за нов ред с низа, който премества курсора на новия ред на конзолата, целочислената стойност, върната от puts(), винаги ще бъде равна на броя на знаците, присъстващи в низа плюс 1.

Декларация

 int puts(char[]) 

Нека видим пример за четене на низ с помощта на gets() и отпечатването му на конзолата с помощта на puts().

 #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; } 

Изход:

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