>>214

stringstream ss;
ss << "abcdefghijklmn";
string str(ss.str());
str.replace(2,1,1,'x');
fout << str;

std::stringstream::str()は呼ばれるたび一時オブジェクトを生成して返すから文字が変更されない、気がした。
詳しくはC++の仕様書なりライブラリドキュメントを参照すべし。