トップ
新規
一覧
単語検索
最終更新
ヘルプ
ログイン
アールメカブ
Boost_tokenizer
をテンプレートにして作成
開始行:
[[Programming_C]]
マルチバイト文字列を指定のセパレーターで区切る時,その区...
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <wchar.h>
#include <boost/tokenizer.hpp>
using namespace std;
using namespace boost;
int main(){
setlocale(LC_ALL, "");
typedef
tokenizer<char_separator<wchar_t>,
wstring::const_iterator,
wstring> wtokenizer;
wstring ss = L"もも!名詞!果物";
char_separator<wchar_t>
sep(L"!", L"!", keep_empty_tokens);
wtokenizer wtok(ss,sep);
int i=0;
char str[10];
for(wtokenizer::iterator it =wtok.begin();
it !=wtok.end(); ++it){
i = wcstombs(str , it->c_str(), 10 );
str[strlen(str)] = '\0'; //必要か?
cout << i << " : " << str << "\n";
}
return 0;
}
$ g++ wtokenizer.cpp
$ ./a.out
6 : もも
3 : !
6 : 名詞
3 : !
6 : 果物
$
使えそう.
[[ここ:http://www5d.biglobe.ne.jp/~y0ka/2005-09-02-3.html...
[[ここ:http://www5d.biglobe.ne.jp/~y0ka/2005-09-02-3.html...
mingwの場合、パスを通さないのであれば boostの解凍フォルダ...
終了行:
[[Programming_C]]
マルチバイト文字列を指定のセパレーターで区切る時,その区...
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <wchar.h>
#include <boost/tokenizer.hpp>
using namespace std;
using namespace boost;
int main(){
setlocale(LC_ALL, "");
typedef
tokenizer<char_separator<wchar_t>,
wstring::const_iterator,
wstring> wtokenizer;
wstring ss = L"もも!名詞!果物";
char_separator<wchar_t>
sep(L"!", L"!", keep_empty_tokens);
wtokenizer wtok(ss,sep);
int i=0;
char str[10];
for(wtokenizer::iterator it =wtok.begin();
it !=wtok.end(); ++it){
i = wcstombs(str , it->c_str(), 10 );
str[strlen(str)] = '\0'; //必要か?
cout << i << " : " << str << "\n";
}
return 0;
}
$ g++ wtokenizer.cpp
$ ./a.out
6 : もも
3 : !
6 : 名詞
3 : !
6 : 果物
$
使えそう.
[[ここ:http://www5d.biglobe.ne.jp/~y0ka/2005-09-02-3.html...
[[ここ:http://www5d.biglobe.ne.jp/~y0ka/2005-09-02-3.html...
mingwの場合、パスを通さないのであれば boostの解凍フォルダ...
ページ名: