|
Программирование >> Элементы языков с и с++
чтение 1-й строки (длиной не более 100 символов) inout.getline(р,100); вывод 1-й строки на экран (stdout) cout endl Stringl : endl; cout p; запоминание текущей позиции в файле после 1-го вывода fstream::pos type pos = inout.tellg(); чтение 2-й строки из файла inout.getline(р,100); вывод 2-й строки на экран (stdout) cout endl String2 : endl; cout p; чтение 3-й строки из файла inout.getline(p,100); вывод 3-й строки на экран (stdout) cout endl String3 : endl; cout p; установка указателя перед 2-й строкой inout.seekp(pos); запись на место 2-й строки inout This is the story2 of a man endl; void tmain ( ) { using namespace std; /*Используется стандартное пространство имен. Создание двунаправленного (чтение/запись в одном и том же файле) объекта (экземпляра)*/ fstream inout; inout.open( fstream.out ,ios base::in ios base::out I ios base::trunc); вывод в файл inout This is the storyl of a man endl; inout This is the story2 of a man endl; inout This is the story3 of a man endl; char p[100]; установка указателя файла (позиционирование) в его начало inout.seekg(О); запись на место 3-й строки incut This is the story3 of a man endl; установка на начало файла incut, see kg (0) ; вывод всего содерзкимого потока на экран (stdout) ccut endl endl inout. rdbuf (); incut. close (); system ( DEL FSTREAM.OUT ) ; getch(); Алгоритм примера состоит в следующем: в файл записываются три строки текста. Затем они последовательно читаются, и к каждой из них добавляется строка с ее названием. C:\WINOOWS\system32V:md.ej№ продолжен f а man f а nan f а nan f a nan f a nan ите любую клавишу Рис. 9.8. Результаты работы программы листинга 9.10 Работа с классом of stream Этог класс предназначен для организации работ по выводу (записи) в файл с помощью методов этого класса: D open () - открывает файл для записи в него информации; □ isopen () - возвращает true, если файл открыт, и false - в противном случае; D put () - записывает в файл один символ; 1Ь 960 Листинг 9.11 ttinclude <fstream> ofstream FILE; /*объявляем переменную FILE типа ofstream (создаем экземпляр класса)*/ FILE.open( а.txt ); вызываем метод открытия файла if(FILE ==NULL) return(О); неудачное открытие файла for(int i=0; i<2; i++) FILE string i endl; вывод в файл FILE.closeО; закрытие файла Работа с классом ifstream Этот класс предназначен для организации работ по вводу (чтению) из с помощью методов этого класса: П open () - открывает файл для чтения из него информации; П isopen () - возвращает true, если файл открыт, и false - в противном случае; П get () - читает из файла один символ; П read () - читает из файла заданное число символов; П eof о - возвращает ненулевое значение, когда указатель позиционирования достигает конца файла; П реек о - выдает очередной символ потока, но не выбирает его (не сдвигает указатель позиционирования данного в файле); П seekgO - перемещает указатель позиционирования в заданное место файла; п write () - записывает в файл заданное число символов; П Skeep о - перемещает указатель позиционирования в заданное место файла; П tellpo -выдает текущее значение указателя позиционирования; П close о-закрывает файл; П rdbuf () - выдает указатель на буфер вывода (этот буфер находится в структуре, с которой связывается файл при его открытии). В листинге 9.11 приведен пример использования класса ofstream.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |