2018年03月04日
《その319》 stringクラス(5)
string型文字列の insert による挿入
#include <iostream>
#include <string>
using namespace std;
int main()
{
//【insert による挿入】
string s0("abcdef");
string s1("123456");
// s0 の 4文字目に、s1 を挿入
s0.insert(3, s1);
cout << s0 << '\n'; // "abc123456def"
s0.assign("abcdef");
// s0 の 2文字目に、
// s1 の 2 文字目から 3文字を挿入
s0.insert(1, s1, 1, 3);
cout << s0 << '\n'; // "a234bcdef"
s0.assign("abcdef");
char a[] = { "UVWXYZ" };
// s0 の 2文字目に、
// 配列による文字列 a の 4 文字目
// から 2文字を挿入
s0.insert(1, a, 3, 2);
cout << s0 << '\n'; // "aXYbcdef"
s0.assign("abcdef");
const char* p = "XYZ";
// s0 の 4文字目に、
// ポインタによる文字列 p を挿入
s0.insert(3, p);
cout << s0 << '\n'; // "abcXYZdef"
s0.assign("abcdef");
// s0 の 4文字目に、
// ポインタによる文字列 p の
// 2文字目から 2文字を挿入
s0.insert(3, p, 1, 2);
cout << s0 << '\n'; // "abcYZdef"
s0.assign("abcdef");
// s0 の 4文字目に、
// ポインタによる文字列 p の最初
// の 2文字を挿入
s0.insert(3, p, 2);
cout << s0 << '\n'; // "abcXYdef"
s0.assign("abcdef");
// s0 の 6文字目に、
// s1 の 2 文字目 〜 末尾を挿入
s0.insert(5, s1, 1, s1.npos);
// s1.npos は省略可
cout << s0 << '\n'; // "abcde23456f"
s0.assign("abcdef");
// s0 の 4文字目に、'-'を 2 文字挿入
s0.insert(3, 2, '-');
cout << s0 << '\n'; // "abc--def"
s0.assign("abcdef");
// s0 の 4文字目に、'#'を挿入
s0.insert(s0.begin() + 3, '#');
cout << s0 << '\n'; // "abc#def"
s0.assign("abcdef");
// s0 の 4文字目に、'#'を 2 文字挿入
s0.insert(s0.begin() + 3, 2, '#');
cout << s0 << '\n'; // "abc##def"
s0.assign("abcdef");
// s0 の 4文字目に、s1 を 逆順に挿入
s0.insert(
s0.begin() + 3,
s1.rbegin(),
s1.rend()
);
cout << s0 << '\n'; // "abc654321def"
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7389857
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック