0
私は今この問題に取り組んできましたが、手でchar *を解析することを含まない単純な解決策を見つけることはできませんでした。私は、 '\ tの' で私のchar *変数を分割する必要がある、と私は、次の方法試してみた:C++:char *を ' t'デリミタで区切る
方法1:
char *splitentry;
std::string ss;
splitentry = strtok(read_msg_.data(), "\\t");
while(splitentry != NULL)
{
std::cout << splitentry << std::endl;
splitentry = strtok(NULL, "\\t");
}
't検定\ TA tthis \ TIS \ \' 入力を使用しますこの出力で 結果:
his
is
a
es
方法2:
std::string s(read_msg_.data());
boost::algorithm::split(strs, s, boost::is_any_of("\\t");
for (int i = 0; i < strs.size(); i++)
std::cout << strs.at(i) << std::endl;
同じ出力を生成します。 私はboost :: split_regexを使ってみましたが、正規表現の値として "\\ t"を使用しましたが、何も分割されません。私はそれを私自身で分割しなければならないのですか?これについて間違っていますか?
' "\\ tが"' 2つの文字のバックスラッシュとtです。 '" \ t "'は1文字の水平タブです。 – aschepler