Файлы
Двоичные потоки
Текстовые потоки
Потоки и файлы
Ввод, вывод, потоки и файлы
Использование typedef
Перечисления
Объединения
union union_type{
int i;
char ch[4];
};
Перечисления – это набор именованных целочисленных констант, определяющий все допустимые значения, которые может принимать переменная.
enum ярлык { список перечислений } список переменных;
enum coin{ penny, nickel, dime, quarter, half_dollar, dollar};
coin money;
В перечислениях каждому имени ставится в соответствие целочисленное значение и поэтому перечисления могут использоваться в любых целочисленных выражениях.
printf(“The value of quarter is %d “, quarter);
Если явно не проводить инициализацию, значение первого имени перечисления будет 0, второго 1 и т.д.
Можно определить значение одного или нескольких символов, использую инициализатор. Это делается путём помещения за символом знака равенства и целочисленного значения. При использовании инициализатора, имена, следующие за инициализированным, получают значение большее на 1, чем указанное перед этим.
|
|
enum coin{ penny, nickel, dime, quarter=100,
half_dollar, dollar};
Теперь имена получат следующие значения:
penny 0
nickel 1
dime 2
quarter 100
half_dollar 101
dollar 102
typedef тип имя;
typedef float balance;
Система ввода-вывода С поддерживает постоянный интерфейс независимо от устройства, к которому обращается программист. То есть система ввода-вывода С предоставляет уровень абстракции между программистом и аппаратурой. Данная абстракция называется потоком, а собственно устройство называется файлом. Все потоки схожи своим поведением. Существует два типа потоков: текстовые и двоичные.
Текстовые потоки – это последовательности символов. В текстовых потоках некоторые символы могут преобразовываться согласно требованиям среды.
Двоичные потоки – это последовательности байт, имеющих однозначное соответствие с байтами во внешнем устройстве. Тем не менее, может добавляться некоторое количество нулевых байт к двоичному потоку. Эти нулевые байты могут использоваться для унификации представления информации, например для заполнения сектора диска.
В С файлы – это логическая концепция, применимая ко всему, начиная от дисковых файлов и заканчивая терминалами. Поток связывается с конкретным файлом с помощью операции открытия. Если файл открыт, то может осуществляться обмен между файлом и программой.
Не все файлы имеют одинаковые возможности.
В начале работы программы по стандарту ANSI C открыты три предопределённых текстовых потока: stdin, stdout, stderr.
Поток | Устройство |
stdin | Клавиатура |
stdout | Экран |
stderr | Экран |