Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
.doc
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
440.83 Кб
Скачать

46) Форматированный ввод-вывод в файл (в2б16, в2б17, в3б19)

Формат преобразования определяется символом. Все возможные символы формата приведены в таблице 1.

Таблица 1

Символ формата

Тип выводимого объекта

%c – char

Символ

%s – string

Строка

%d – int

Целое число

%u – unsigned int

Целое беззнаковое значение

%o – int

Беззнаковое число в 8-ричном представлении

%x – int

Беззнаковое число в 16-ричном представлении

%ld – long

Длинное число в 10-чном представлении

%lo – long

Длинное число в 8-ричном представлении

%lx – long

Длинное число в 16-ричном представлении

%lu – unsigned long

Беззнаковое длинное число

%f – float/double

Число с фиксированной точкой

%e – float/double

Число в экспоненциальной форме

%g – float/double

В виде f или e в зависимости от значения

%lf – long/float

Длинное число с фиксированной точкой

%le – long/float

Длинное число в экспоненциальной форме

%p – pointer

Указатель (16-ричный адрес)

Каждая спецификация преобразования соответствует одному из аргументов, которые следуют за форматной строкой. Управляющие символы имеют вид:

\b – возврат курсора на шаг назад

\f – новая страница

\n – новая строка

\r – возврат коретки

\t – табуляция или перевод курсора в табличную позицию

\v – вертивальная табуляция

\" – кавычка

\’ – апостроф

\\ – обратная наклонная черта

\ddd – восьмиричный код

\0*dd – 16-ричный код

Список аргументов функции printf() содержит имена переменных, констант или выражения, которые необходимо вывести на экран. Например, при следующей записи на С

printf("%c = %d \n",g, g);

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

printf("%c = %5d \n",g, g);

Пример:

#include

#include

main() {

int age;

float doxod;

age = 23;

doxod = 100;

printf("\n Возраст Андрея – %d. Его доход в $ составляет %.2f", age, doxod);

getch(); }

В данном примере последовательность "возраст Андрея – " будет выведена с новой строки. Символ %d – спецификация для целой переменной age. Вместо этой спецификации в выводимой строке будет подставляться целое число 23. Знак %.2f – спецификация (символ преобразования формата) для вещественного значения переменной доход, а также указание формата для вывода только двух цифр после десятичной точки. Таким образом, после выполнения программы на экране будет отображено: Возраст Андрея – 23. Его доход в $ составляет 100.00.

47) Запись и чтение символов. Ввод\ вывод строк. Стирание файлов.

1.Запись и чтение символа

Функции записи и чтения символа подобны fprintf и fscanf, только пишут и читают не в поток/из потока, а в строку/из строки:

int sprintf(char *string, char *format, args..)

int sscanf(char *string, char *format, args..)

Пример:

float full_tank = 47.0;

float miles = 300;

char miles_per_litre[80];

sprintf( miles_per_litre,"Miles per litre = %2.3f", miles/full_tank);

2.Ввод/вывод строк

Стандартная библиотека содержит функцию fgets. В результате обращения

fgets(line, maxline, fp)

следующая строка ввода (включая символ новой строки) считывается из файла fp в символьный массив line; самое большое maxline_1 символ будет прочитан. Результирующая строка заканчивается символом \0. Нормально функция fgets возвращает line; в конце файла она возвращает null.

Предназначенная для вывода функция fputs записывает строку (которая не обязана содержать символ новой строки) в файл:

fputs(line, fp)

3. Стирание файлов

Функция remove() стирает указанный файл. Вот ее прототип:

int remove(const char *имя_файла);

В случае успешного выполнения эта функция возвращает нуль, а в противном случае — ненулевое значение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]