19

私は問題があります。ファイル全体をロードしてから、getlineを使用して情報を取得します。ただし、マップ形式では、情報に0または20の「行」が含まれる場合があります。std::stringを介してgetlineする方法を知る必要があります。関数(ソースストリーム、宛先文字列、10進数)がありますが、必要です(ソース文字列、宛先文字列、10進数)。ストリームを検索することはC++では不可能です(多くの一時文字列を使用し、何度も抽出および挿入するだけです。それは不明確であり、私はそれを面倒な方法で行いたくありません)。だから私はstd::stringからgetlineする方法を知りたいです。

サンズ

4

1 に答える 1

30

std::istringstreamあなたはヘッダーにある、が欲しいようです<sstream>

std::string some_string = "...";

std::istringstream iss(some_string);

std::string line;
while (std::getline(iss, line))
{
    // Do something with `line`
}
于 2012-12-12T10:50:50.627 に答える