const char*型の文字列にて指定した正規表現で検索・出力するプログラムを作りたいのですが、途中(特に↓のソースコードのauto it = ...の箇所)でどう書けばよいか分からず煮詰まっています。
C++
1#include <iostream> 2#include <vector> 3#include <regex> 4 5int main() { 6 const char str[64] = "Lorem ipsum dolor sit amet"; 7 std::vector<char*> vec; 8 9 std::regex re{ R"(\w{5})" }; //5文字の単語 10 //↓error: expression must have class type 11 auto it = std::regex_token_iterator<const char*>(str.begin(), str.end(), re,0); 12 auto it_end = std::regex_token_iterator<const char*>(); 13 14 while (it != it_end) {vec.push_back(*it++);} 15 16 for (const auto& x : vec) { 17 std::cout << x << std::endl; 18 } 19 return 0; 20}
Lorem, ipaum, dolor の3つがvecに格納・出力されたら成功ですが、コンパイルに失敗します。
どうかよろしくお願いしますm(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/21 13:58