Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" G "

getc 

getchar 

gets 

getw 

getwd 

get_current_dir_name 

gmtime 

gmtime_r 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

gets – чтение строки из стандартного потока ввода.

Синтаксис:

#include < stdio.h >
char *gets (char *s);

Аргументы:

s – указатель на массив, в который будет помещена считанная строка.

Возвращаемое значение:

В случае успешного чтения строки, возвращается указатель на массив в который помещены считанные данные (возвращается аргумент s).

Если достигнут конец файла, а данные не были считаны, то возвращается NULL.

Если при чтении данные произошла ошибка, то возвращается NULL, а в переменную errno записывается код ошибки. При этом состояние массива, в который должна была сохраниться считанная строка, неопределенно.

Описание:

Функция gets считывает строку из стандартного потока ввода (stdin) и помещает ее в массив указанный аргументом s. Чтение строки производится пока не будет встречен символ «переход на новую строку», или не будет достигнут конец файла.

Если чтение строки завершилось по считыванию символа «переход на новую строку», то символ «переход на новую строку» не записывается в массив, а заменяется символом «конец строки»

Применение этой функции не рекомендуется, так как размер считываемой строки не ограничивается размером массива, в который должна быть записана считываемая строка. В результате может возникнуть переполнение массива и несанкционированная запись в память, что приведет к ошибкам в работе программы или ее зависанию.

Рекомендуется использовать функцию fgets вместо функции gets.

Пример:

В примере считывается вводимая с консоли строка и отчет о работе выводится в консоль. В качестве образца в консоль была введена строка: «тест чтения».


#include < stdio.h >  //Для printf, gets

int main (void)
{    
   // Массив, в который помещается считываемая строка
   char masstr[100]=””;
      
   //Указатель, в который будет помещен результат работы функции gets
   char *rstr;

   //Запрос ввода строки
   printf (“Введите строку:\n”);

   //Чтение строки из стандартного потока ввода
   rstr = gets (masstr);

   //Вывод результата работы
   printf (“Считана строка:\n%s\n”,masstr);

   return 0;
}

Результат:

Введите строку:
тест чтения
Считана строка:
тест чтения



Смотри так же:

fgetc
fgets
fputc
fputs
getc
getchar
gets
getw
printf
putc
puts
putchar
putw
ungetc


Яндекс.Метрика

Рейтинг@Mail.ru