stringの置き換えを行うには、replaceを使用します。
#include <stdio.h>
#include <tchar.h>
#include <locale.h>
#include <string>
#include <iostream>
/*
string中の特定文字列をstringで置換する
*/
std::string ReplaceString
(
std::string String1 // 置き換え対象
, std::string String2 // 検索対象
, std::string String3 // 置き換える内容
)
{
std::string::size_type Pos( String1.find( String2 ) );
while( Pos != std::string::npos )
{
String1.replace( Pos, String2.length(), String3 );
Pos = String1.find( String2, Pos + String3.length() );
}
return String1;
}
int _tmain
(
int argc
, _TCHAR* argv[]
)
{
// 標準出力にユニコード出力する
setlocale( LC_ALL, "Japanese" );
// stringをstringで置換する
std::string str = ReplaceString(
"ABCDEFG"
, "D"
, "あいうえお"
);
// 標準出力へ出力する
std::cout << str << std::endl;
// 正常終了
return( 0 );
}
ABCあいうえおEFG