C++_文字置換

ソースの意味は分かってない。
環境は Visual Studi o。C # から C ++ のライブラリを読み込んでる。

 

ex )
hoga を fuga に置換。

    std::string str = "今日は hoga だった。明日も hoga だ。";
    std::string from = "hoga";
    std::string to = "fuga";

    std::string::size_type pos(str.find(from));
    while (pos != std::string::npos)
    {
        str.replace(pos, from.size(), to);
        pos = str.find(from, pos + to.size());
    }

    std::cout << str << std::endl;

    // f:id:koshinRan:20171129182641p:plain ← が出力。

pos = str.find(from, pos + to.size()); は必要。
ないとループが終わらない。

 


[ ネイティブコードのデバッグを有効にする ] の
チェックを外してコンソールに出力。外さないと出力されない。

プロジェクトを右クリック → プロパティ → デバッグ
から変更。
 f:id:koshinRan:20171129182024p:plain

 

こちらから。
http://www.geocities.jp/eneces_jupiter_jp/cpp1/010-055.html
http://minus9d.hatenablog.com/entry/20120519/1337412307

 

以上。