Функция | Назначение |
Функции ввода | |
#include <conio.h> char *cgets (char *str); | Помещает в буфер, на начало которого указывает str, строку символов из стандартного ввода. |
#include <stdio.h> char *gets(char *s); | |
#include <stdio.h> char *fgets(char *s, int n, FILE *stream); | |
Функции вывода | |
#include <conio.h> int cputs(const char *str); | Выводит строку символов в текстовое окно, начиная с текущей позиции курсора. |
#include <stdio.h> int puts(const char *s); | |
#include <stdio.h> int fputs(const char *s, FILE *stream); |
Функции построчного ввода
Функция cgets
Функция
#include <conio.h>
char *cgets (char *str);
читает строку символов прямо с консоли и запоминает строку и ее длину в местоположении, указанном str. Str должно быть указателем на массив символов. Первый элемент массива - str[0] должен содержать максимальную длину (в символах) читаемой строки, во втором элементе массива str[1] запоминает действительную длину строки. Строка запоминается, начиная с str[2].
Массив должен быть достаточно большим, чтобы содержать строку, символ окончания '\0' и два дополнительных байта. Функция cgets продолжает считывать символы, пока не будет прочитан символ CR или определенное количество символов.
|
|
Если символ CR прочитан, перед запоминанием он заменяется нулевым символом '\0'.
Достоинства функции cgets:
1) возможность определения при вводе длины строки;
2) защита при вводе от «лишних» символов, для которых компилятором не зарезервировано место;
3) возможность ввода за одно обращение к функции строк, длина которых превышает установленный по умолчанию буфер для стандартного ввода в 128 символов.
Пример: Ввод строки до 254 символов и вывод на экран реального размера введенной строки.
#include <stdio.h>
#include <conio.h>
void main(void)
{
char str[256];
str[0]=254;
cgets(str);
printf("Введено %d символов \
строки %s\n",str[1],&str[2]);
}
Функции построчного вывода