8.5 Работа со Строками

8.5 Работа со Строками

Можно осуществлять действия, подобные вводу/выводу, над символьным вектором, прикрепляя к нему istream или ostream. Например, если вектор содержит обычную строку, завершающуюся нулем, для печати слов из этого вектора можно использовать приведенный выше копирующий цикл:

void word_per_line(char v[], int sz) /* печатет "v" размера «sz» по одному слову на строке */ (* istream ist(sz,v); // сделать istream для v char b2[MAX]; // больше наибольшего слова while (ist»»b2) cout «„ b2 «« « “; *)

Завершающий нулевой символ в этом случае интерпретируеся как символ конца файла.

В помощью ostream можно отформатировать сообщения, котрые не нужно печатать тотчас же:

char* p = new char[message_size]; ostream ost(message_size,p); do_something(arguments,ost); display(p);

Такая операция, как do_something, может писать в поток ost, передавать ost своим подоперациям и т.д. с помощью стадартных операций вывода. Нет необходимости делать проверку на переполнение, поскольку ost знает свою длину и когда он будет переполняться, он будет переходить в состояние _fail. И, нконец, display может писать сообщения в «настоящий» поток ввода. Этот метод может оказаться наиболее полезным, чтобы справляться с ситуациями, в которых окончательное отображение данных включает в себя нечто более сложное, чем работу с трдиционным построчным устройством вывода. Например, текст из ost мог бы помещаться в располагающуюся где-то на экране оласть фиксированного размера.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Операции над строками

Из книги автора

Операции над строками Как уже говорилось, строки можно сравнивать. Кроме того, строки можно объединять с помощью операции конкатенации (+), что мы уже не раз делали. Например:S1="Здравствуй";S2=",";S3="Мир!";S=S1+S2+" "+S3;В итоге переменная S будет содержать строку «Здравствуй,


R.16.6 Управление строками

Из книги автора

R.16.6 Управление строками Для удобства написания программ, порождающих текст на С++, введена управляющая строка вида:#line константа "имяфайла" optОна задает значение предопределенному макроимени __LINE__ (§R.16.10), которое используется в диагностических сообщениях или при


3.3. Тонкости работы со строками

Из книги автора

3.3. Тонкости работы со строками В этом разделе мы рассмотрим некоторые тонкости работы со строками, которые позволяют лучше понять, какой код генерирует компилятор при некоторых, казалось бы, элементарных действиях. Не все приведенные здесь примеры работают не так, как


14.2. Работа со строками Xerces

Из книги автора

14.2. Работа со строками Xerces ПроблемаТребуется обеспечить надежную и простую работу со строками с расширенным набором символов, используемыми библиотекой Xerces. В частности, необходимо уметь сохранять строки, возвращаемые функциями библиотеки Xerces, а также выполнять


Глава 4 Работа со строками и столбцами

Из книги автора

Глава 4 Работа со строками и столбцами По умолчанию лист книги в программе Excel содержит ячейки с одинаковыми значениями ширины и высоты. В процессе работы вам неоднократно придется изменять высоту строк и ширину столбцов, соответственно, будут изменяться и размеры ячеек,


ФУНКЦИИ, РАБОТАЮЩИЕ СО СТРОКАМИ

Из книги автора

ФУНКЦИИ, РАБОТАЮЩИЕ СО СТРОКАМИ      Большинство библиотек языка Си снабжено функциями, работающими со строками. Рассмотрим четыре наиболее полезных и распространенных: strlen( ), strcat( ), strcmp( ) и strcpy( ).      Мы уже применяли функцию strlen( ), которая находит длину строки.


Игры со строками.

Из книги автора

Игры со строками. Все нижеследующие программы, должны начитаться и продолжаться объяснениями пользователю, что ему следует сделать для продолжения работы программы. (2)Написать программу со следующим сценарием:пользователь вводит строку, нажимает Enter и далее варианты:а)


Подпрограммы для работы с символами и строками

Из книги автора

Подпрограммы для работы с символами и строками function Chr(a: byte): char; Преобразует код в символ в кодировке Windows function ChrUnicode(a: word): char; Преобразует код в символ в кодировке Unicode function OrdUnicode(a: char): word; Преобразует символ в код в кодировке Unicode function UpperCase(ch: char): char;


Работа с ячейками, строками и столбцами таблицы

Из книги автора

Работа с ячейками, строками и столбцами таблицы Word имеет богатый арсенал средств для форматирования таблиц. Такие инструменты доступны на контекстных вкладках Конструктор и Макет, которые появляются автоматически при установке курсора в любую ячейку таблицы.Вкладка