КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операции с файлами
Лекция 7 Указатели Когда компилятор обрабатывает оператор определения переменной, например, int i=10; он выделяет память в соответствии с типом (int) и инициализирует ее указанным значением (10). Все обращения в программе к переменной по ее имени (i) заменяются компилятором на адрес области памяти, в которой хранится значение переменной. Программист может определить собственные переменные для хранения адресов областей памяти. Такие переменные называются указателями. Итак, указатели предназначены для хранения адресов областей памяти. У казатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа (основного или составного). Простейшее объявление указателя на объект (в дальнейшем называемого просто указателем) имеет вид: тип_данных *имя_указателя;. Указатели применимы только к целым числам и массивам. Существуют две операции для работы с указателями. Во-первых, это определение адреса ячейки по имени переменной, для этого используется оператор &. Во-вторых, это определение значения переменной записанного по данному адресу, для этого используется оператор *. Пример целочисленной переменной: #include <iostream> #include <windows.h> using namespace std; string Rus(string text) //установка вывода русского языка в строке {CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str()); return text;} int main() { int a=100, b=0; int *pa, *pb; pa=&a; //указатель на адрес, где хранится a cout<<Rus("Переменная а=")<<a<<Rus(" находится в ячейке ")<<pa<<endl; cout<<Rus("В ячейке с номером ")<<pa<<Rus(" хранится переменная ")<<*pa<<endl; cout<<Rus("Номер следующей ячейки ")<<pa+1<<endl; cout<<endl; *pa=*pa+10; cout<<Rus("Переменная а стала равна ")<<*pa<<endl; //эквивалентно a=a+10
b=a; pb=&b; cout<<Rus("Переменная b стала равна ")<<*pb<<endl; return 0; } Пример одномерного массива: #include <iostream> #include <windows.h> using namespace std; string Rus(string text) //установка вывода русского языка в строке {CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str()); return text;} int main() { int a[5] = {3, 2, 1}; int *pa; pa=&a[0]; for (int i=0; i<=4; i++) { pa=&a[i]; cout<<Rus("Переменная ")<<*pa<<Rus(" хранится по адресу ")<<pa<<endl; } return 0; } Задание 1. Выполнить лабораторную работу 6 (Функции). Задание 2. Выполнить лабораторную работу 6а (Массивы).
Большие объемы данных хранятся на диске в виде файлов. Существуют два основных типа файлов: текстовые и двоичные. Т екстовыми называются файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конца строки». Конец самого файла обозначается символом «конца файла». Чтение тестового файла можно просмотреть с помощью любого текстового редактора. В двоичных файлах информация считывается и записывается в виде блоков определенного размера, в которых могут храниться данные любого вида и структуры. В программах на C++ при работе с текстовыми файлами необходимо подключить библиотеку fstream. При работе с файлами используются специальные типы данных, называемые потоками. Переменная для записи символов в файл имеет вид с ofstream <переменная_потока>, а переменная для чтения символов из файла имеет вид с ifstream <переменная_потока>. Ф айл может быть открыт в одном из следующих режимов: · ios::in — открыть файл в режиме чтения данных; · ios::out — открыть новый файл в режиме записи данных (при этом информация о существующем файле уничтожается); · ios::app — открыть файл в режиме записи данных в конец файла; · ios::ate — передвинуться в конец уже открытого файла; · ios::trunc — очистить файл, это же происходит в режиме ios::out; · ios::nocreate — не выполнять операцию открытия файла, если он не существует;
· ios::noreplace — не открывать существующий файл.
Дата добавления: 2014-11-25; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |