web-dev-qa-db-ja.com

std :: stringから「getline」を実行する方法は?

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

サンズ

14
user1873947

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

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

std::istringstream iss(some_string);

std::string line;
while (std::getline(iss, line))
{
    // Do something with `line`
}
23