問題タブ [boost-tokenizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 誤ったトークン化
私はこのコードを持っています:
このコードは、次の結果を生成します。
明らかに、2行目は間違っています。hello world代わりに期待していた。何が問題ですか?
c++ - Windows と Linux で Boost のトークナイザーの結果が異なる
boost::tokenizer で奇妙なことを見つけました。(boost version 1.53.0, 1.52.0 )
このコードは、Linux (Ubuntu 12.04.2 および gcc バージョン 4.6.3) ではクラッシュし、Windows 7 (VS 2010 Express) では問題なく動作します。準備したい文字列( 'line' variable )は次のとおりです。
Linux の場合:
lexical_cast がクラッシュします。
Windows では:
正常に動作します。
これは正しい動作ですか?
c++ - ネストされたループ内の 2 つの文字列ベクトルから文字列値を一致させる方法
CSV ファイル内の特定のヘッダー値のインデックスを見つけようとしているので、それらを使用してファイルの残りの位置にあるデータを抽出できます。map<std::string, int>インデックスを保持できるように、ヘッダー値を に追加しています。
ヘッダーが行の最後の値である場合、一致しないことに気付くまで、作業コードがありました。ネストされたループ内では最後のヘッダー文字列が空ですが、外側のループではありません。
は、 I get this output; と同等tok(row)です。tok("column0,column1,column2")
それがtok("column0,column1,column2,column3")私が得るなら一方。
外側のループにcout << cellいると、値が正しく表示されます。
cell内側のループでの値を失うのはなぜですか?
編集
githubおよびテスト ファイル内のコードは、次のようにコンパイルされます。
で実行されます
この出力が得られます。
c++ - BOOST Tokenizer を使用して区切り文字を表示し、文字列を引用符でトークン化しない
BOOST Tokenizer を使用して、文字列を toekn に分割しています。基本的に、トークンは、c/c++ に基づく VSL 用のコンパイラを作成するために使用されます。私が尋ねたかったのは、定義された区切り文字が使用して作成された可能性があるということです
たとえば、文字列でブーストトークナイザーを使用する場合にも表示されます
次のトークンを作成する必要があります
また、次のような引用符でトークン化されないようにするにはどうすればよいですか
次のトークンに変換する必要があります
c++ - 区切り文字で文字列をトークン化する方法は?
文字列を区切り記号でトークン化する必要があります。
例えば:
"One, Two Three,,, Four"を取得する必要があるためです{"One", "Two", "Three", "Four"}。
私はこのソリューションを使用しようとしています https://stackoverflow.com/a/55680/1034253
しかし、私はエラーが発生します:
boost-1_57\boost/tokenizer.hpp(62): エラー C2228: '.begin' の左側には class/struct/union 型が 'const char *const' である必要があります
c++ - const char** へのコンマ区切りトークンのベクトル
コンマ区切りの文字列を const char* のベクトルに変換しようとしています。次のコードでは、予想される出力は
しかし、私は得る
どこが間違っていますか?
コード:
編集: 以下の回答を利用したソリューション: (PaulMcKenzie は、リストを使用してより適切なソリューションを提供しています。)
c++ - boost::split は 1 つのトークンのみのリストで使用できますか?
コンマで区切られた文字列のリストを繰り返し処理し、各文字列で処理を行いたいと思います。「abc、xyz」と「abc」の両方を有効な入力として認識するようにboost::splitを設定する方法はありますか? つまり、述語が何も一致しない場合、Split は入力文字列全体を返すことができますか?
または、boost:tokenizer を代わりに使用する必要がありますか?