![]() |
![]() ![]() ![]() ![]() |
![]() |
Boost Escaped List SeparatorBoost , ,
|
||||||||||||||||||||||||||||||||||
Последовательность побега |
Результат |
| новая линия | |
Где- любой персонаж, указанный как цитата, и
// simple_example_2.cpp
#include<iostream>
#include<boost/tokenizer.hpp>
#include<string>
int main(){
using namespace std;
using namespace boost;
string s = "Field 1,\"putting quotes around fields, allows commas\",Field 3";
tokenizer<escaped_list_separator<char> > tok(s);
for(tokenizer<escaped_list_separator<char> >::iterator beg=tok.begin(); beg!=tok.end();++beg){
cout << *beg << "\n";
}
}
В состав escaped_list_separator входит 2 конструктора. Они являются следующими
explicit escaped_list_separator(Char e = '\\', Char c = ',',Char q = '\"')
Параметр |
Описание |
| e | Указывает характер для использования для побеговых последовательностей. По умолчанию соответствует стилю C \ (backslash). Однако вы можете преодолеть, проходя в другом характере. Примером того, когда вы можете захотеть сделать это, является то, что у вас есть много полей, которые являются именами файлов в стиле Windows. Вместо того, чтобы убегать от каждого на своем пути, вы можете изменить побег на что-то другое. |
| c | Указывает символ, используемый для разделения полей |
| q | Определяет символ, используемый для цитаты. |
escaped_list_separator(string_type e, string_type c, string_type q):
Параметр |
Описание |
| e | Любой персонаж в строке e считается персонажем побега. Если дается пустая струна, то нет побеговых символов. |
| c | Любой символ в строке c считается разделителем. Если дается пустая строка, то нет разделительных знаков. |
| q | Любой символ в строке q считается цитатой. Если дается пустая строка, то нет символов цитаты. |
Чтобы использовать этот класс, передайте его объект в любом месте пакета Tokenizer, где требуется TokenizerFunction.
| Parameter | Description |
|---|---|
| Чар | Тип элементов в токене, как правило,char. |
| черты | Класс признаков для типа Char. Это используется для сравнения Чара. По умолчанию для std::char_traits< Char> |
Пересмотрено25 декабря 200625 December, 2006[ORIG_END] -->
Авторское право и копия; 2001 Джон Р. Бандела
Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файлLICENSE_1_0.txtили копию в) http://www.boost.org/LICENSE_1_0.txt)
Статья Boost Escaped List Separator раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |