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