
- •3.1.1. Функции посимвольного ввода-вывода
- •3.1.1.1.Функции посимвольного ввода
- •Функции посимвольного стандартного ввода Функция getchar
- •Функция fgetchar
- •Функция ungetch
- •Функция getch
- •Функция getche
- •Функции посимвольного потокового ввода Функция fgetc
- •Функция getc
- •Функция ungetc
- •3.1.1.2. Функции посимвольного вывода
- •Функции стандартного вывода Функция putchar
- •3.1.2.Форматированный ввод-вывод
- •3.1.2.1.Форматированный ввод Функция scanf
- •Функция cscanf
- •Управляющая строка функций ввода
- •Модификатор
- •Символы преобразования и их смысл Тип переменной int
- •Тип переменной char
- •Тип переменной char*
- •Тип переменной float
- •3.1.2.2.Форматированный вывод Функция printf
- •Функция cprintf
- •Отдельные поля спецификации преобразования Флаги
- •Точность
- •Модификатор
- •Символы преобразования и их смысл Тип переменной int
- •Тип переменной char
- •Тип переменной char*
- •Тип переменной float
- •3.1.3. Функции построчного ввода-вывод
- •3.1.3.1.Функции построчного ввода Функция cgets
- •3.1.3.2.Функции построчного вывода Функция cputs
- •Лекция №2(продолжение)
- •4.1. Библиотека iostream
- •Буферизованные потоки (класс streambuf )
- •Потоковый класс ios
- •4.2.2. Потоковый ввод
- •4.3. Форматирование потокового ввода-вывода
- •4.3.1. Форматирующие функции-элементы
- •4.3.2. Флаги форматирования
Функция ungetc
Функция
#include <stdio.h>
int ungetc(int c, FILE *stream);
возвращает символ c в заданный поток ввода stream. Stream должен быть буферизованным и открытым для чтения. Последующая операция чтения из stream начинается с символа c. EOF вернуть в поток посредством использования ungetc нельзя. Эта функция возвращает значение ошибки, если из stream ничего не прочитано или если c назад не возвращен. Символы, размещаемые в потоке посредством ungetc, могут быть уничтожены, если функции fseek или rewind вызваны перед считыванием символа из stream.
Пример:
#include <stdio.h>
#include <ctype.h>
int main( void )
{
int i=0; char ch;
puts("Input an integer followed by a char:");
while((ch = getchar()) != EOF && isdigit(ch))
i = 10 * i + ch - 48; /* convert ASCII into int value */
if (ch != EOF) ungetc(ch, stdin);
printf("i = %d, next char in buffer = %c\n", i, getchar());
return 0;
}
3.1.1.2. Функции посимвольного вывода
Функция |
Назначение |
#include <stdio.h> int fputchar(int c); |
Помещает символ в файл стандартного вывода stdout |
#include <stdio.h> int putchar(int c); |
Помещает символ в файл стандартного вывода stdout. Является макроопределением через функцию putc(). |
#include <stdio.h> int putc(int c, FILE *stream); |
Помещает символ в открытый файл, описываемый переменной типа FILE, на которую указывает fp. Является макроопределением через функцию _fputc(). |
#include <stdio.h> int fputc(int c, FILE *stream);
|
Помещает символ в открытый файл, описываемый переменной типа FILE, на которую указывает fp. |
#include <conio.h> int putch(int c); |
Выводит символ в текущей позиции текстового окна экрана. |
Функции стандартного вывода Функция putchar
Вывод можно осуществлять с помощью функции putchar(c).
Форма записи:
#include <stdio.h>
int putchar(int c);
функции putchar(c) помещает символ 'c' в "стандартный ввод", который по умолчанию является терминалом. Вывод можно направить в некоторый файл с помощью обозначения > : если prog использует putchar, то командная строка
prog > outfile
приведет к записи стандартного вывода в файл outfile, а не на терминал.
Вывод, осуществляемый функцией printf, также поступает в стандартный вывод, и обращения к putchar и printf могут перемежаться.
Пример:
#include <stdio.h>
main()
{ char c;
c=getchar();
putchar(c);
printf(“%d”,c);
}
Результат:
а
а224
В данном примере показано неявное приведение типа char в тип int, в результате значение переменной с=’а’ преобразовывается в код этого символа, который равен 224.
Функция fputchar
Функция
#include <stdio.h>
int fputchar(int c);
записывает отдельный символ с в текущую позициюстандартного выходного потока. Функция putchar идентична функции putc(c, stdout).Функция putchar идентична fputchar, но является макро, а не функцией.
Функция putch
Функция
#include <conio.h>
int putch(int c);
выводит символ в текущей позиции текстового окна экрана. Воздействие спецсимвола ‘\n’ аналогично cprintf() и cputs() . Остальные спецсимволы воздействуют на курсор так же, как и для функции стандартного ввода/вывода.
Функции потокового вывода
Функция putc
Функция
#include <stdio.h>
int putc(int c, FILE *stream);
записывает отдельный символ с в текущую позицию выходного потока stream. Функция putc идентична fputc , но является макро, а не функцией.
Функция fputc
Функция
#include <stdio.h>
int fputc(int c, FILE *stream);
записывает отдельный символ с в текущую позицию выходного потока stream.