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

Спецификатор минимума ширины поля

Целое число, помещаемое между знаком % и кодом формата, рассматривается как спецификатор минимума ширины поля.

Пример

#include <stdio.h>

int main(void)

{

double item;

item = 10.12304;

printf(“%f\n”, item);

printf(“%10f\n”, item);

printf(“%012f\n”,item);

return 0;

}

Спецификатор точности

Спецификатор точности состоит из точки, за которой следует целое число.

#include <stdio.h>

int main(void)

{

printf(“%.4f\n”, 123.1234567);

printf(“%3.8d\n”, 1000);

printf(“%10.15s\n”, “This is a simple test”);

return 0;

}

В результате получим

123.1235

00001000

This is a simpl

Выровненый вывод

По умолчанию выравнивание по правому краю. Вывод можно выровнять по левому краю, поставив перед символом % знак «минус». Например, спецификатор %-10.2f выравнивает число с двумя знаками после точки по левому краю поля, состоящего из 10 позиций.

Модификаторы * и #

Помещение # перед g, G, f, e или E обеспечивает наличие десятичной точки в случае отсутствия дробной части. Если перед спецификатором o поместить #, то выведенное число будет иметь в начале 0. Если перед спецификаторами формата x или X поставить #, то шестнадцатеричное число будет печататься с префиксом 0x. Нельзя применять # к другим спецификаторам формата.Помимо констант, спецификаторы минимальной ширины поля и точности могут предоставляться аргументами printf(). Для реализации этого следует использовать *.

printf(“%*.*f”, 10, 4, 123.4)

  1. Файловая система ansi c

Заголовочный файл stdio.h предоставляет прототипы для функций ввода-вывода и определяет три типа: size_t, fpos_t и FILE. Типы size_t и fpos_t – зависят от адресного пространства (обычно unsigned long). stdio.h также определяет несколько макросов. Наиболее значимые NULL, EOF, FOPEN_MAX, SEEK_SET, SEEK_CUR, SEEK_END.

Имя

Функция

fopen()

fclose()

putc()

fputc()

getc()

fgetc()

fseek()

fprintf()

fscanf()

feof()

ferror()

rewind()

remove()

fflush()

Открывает файл

Закрывает файл

Записывает символ в файл

Аналогично putc()

Читает символ из файла

Аналогично getc()

Переходит к указанному байту в файле

Делает то же в файл, что и printf() на консоль

Делает то же с файлом, что и scanf() c консолью

Возвращает истину при достижении конца файла

Возвращает истину при обнаружении ошибки

Сбрасывает индикатор позиции файла на начало файла

Стирает файл

Очищает буфер файла

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

Запись символа

Система ввода-вывода ANSI С определяет две эквивалентные функции, выводящие символ – putc() и fputc(). Поддержка двух идентичных функций необходима для совместимости со старыми версиями С.

Функция putc() используется для записи символов в поток, ранее открытый функцией fopen(). Прототип для putc() следующий:

int putc(int ch, FILE *fp);

где fp – это указатель на файл, возвращённый fopen( ), а ch – выводимый символ.

Если putc( ) выполнена успешно, она возвращает выведенный символ. В противном случае возвращает EOF.

Чтение символа

Имеется две эквивалентные функции для ввода символа – getc() и fgetc(). Функция getc( ) используется для чтения символа из потока, открытого на чтение с помощью fopen( ). Прототип getc( ) следующий:

int getc(FILE *fp);

где fp – это указатель на файл типа FILE *, возвращенный fopen(). Функция getc( ) возвращает EOF при достижении конца файла. Для чтения текстового файла до конца следует использовать следующий код:

ch = getc(fp);

while( ch != EOF) { ch = getc(fp); }

  1. fclose( )

Функция fclose( ) используется для закрытия потока, ранее открытого с помощью fopen( ). Она сохраняет в файл данные, находящиеся в дисковом буфере, и выполняет операцию системного уровня по закрытию файла.

Функция fclose( ) имеет прототип:

int fclose(FILE *fp);

где fp – это указатель на файл возвращённый fopen( ). Если возвращён 0, то операция закрытия была выполнена успешно, а если EOF, то, значит, была ошибка.