ad(readData[1]. STR_LEN); asse

Автор admin Четверг, 14 мая 2009 11:32

ad(readData[1]. STR_LEN); assert(strcmp(readData[l]. “There’s plenty more for us!”) == 0): // Абсолютное позиционирование (по аналогии с operator[]) in.seekg(3 * STR_LEN); 1n.read(readData[2]. STR_LEN); assert(strcmp(readData[2]. “That’s just too bad.”) — 0); // Смещение в обратном направлении от текущей позиции in.seekg(-STR_LEN * 2. ios::cur): 1n.read(readData[3]. STR_LEN); assert(strcmp(readData[3], “Well, if you have.”) — 0); // Позиционирование от начала файла in.seekgd * STRLEN. ios::beg): in.read(readData[4]. STR_LEN); assert(strcmp(readData[4]. “Are you tired of С++?”) == 0); } ///:- Поиск в потоках ввода-вывода 147 Программа записывает стихотворение в файл, используя двоичный поток вывода. Поскольку файл открывается заново через объект ifstream, для позиционирования вызывается функция seekg(). Как видите, позиционирование может выполняться от начала, от конца файла или от текущей позиции в файле. Естественно, для позиционирования от начала файла смещение должно быть положительным, а для позиционирования от конца файла — отрицательным. Зная, что такое streambuf и как смещается текущая позиция,


Комментарии закрыты.