「std::string::assign」の版間の差分
提供: C++入門
(ページの作成:「std::string::assign とは、std::stringに新しい値を割り当て、既存の内容を置き換えます。 '''読み方''' ;std::string::assign: __TO...」) |
(相違点なし)
|
2013年12月28日 (土) 14:48時点における最新版
std::string::assign とは、std::stringに新しい値を割り当て、既存の内容を置き換えます。
読み方
- std::string::assign
概要
std::string::assignは、std::stringのコンストラクタ std::string::string で出来ることができます。 一部の機能は、std::string::operator=と同じですが、assignのほうがコンストラクタと同様に機能が豊富です。
ヘッダファイル
// string (1) string& assign (const string& str); // substring (2) string& assign (const string& str, size_t subpos, size_t sublen); // c-string (3) string& assign (const char* s); // buffer (4) string& assign (const char* s, size_t n); // fill (5) string& assign (size_t n, char c); // range (6) template <class InputIterator> string& assign (InputIterator first, InputIterator last); // initializer list(7) string& assign (initializer_list<char> il); // move (8) string& assign (string&& str) noexcept;
assign1.cpp の例
ソースコード assign1.cpp
#include <iostream> #include <string> using namespace std; int main(int argc, char const* argv[]) { // 0123456 // foo bar string base("foo bar");//foo bar(C string)を代入 string s0; s0.assign(base); cout << "foo bar = " << s0 << endl; // foo bar s0.assign(base, 4,3);////s1の4文字目から3文字コピー cout << "bar = " << s0 << endl; // bar s0.assign("foo bar", 3); cout << "foo = " << s0 << endl; // foo s0.assign("c-string"); cout << "c-string = " << s0 << endl; // c-string s0.assign(3, '*'); // *** cout << "*** = " << s0 << endl; // *** s0.assign<int>(3, 0x2d);// 0x2d = - cout << "--- = " << s0 << endl; // --- s0.assign(base.begin() + 1, base.end()-1); cout << "oo ba = " << s0 << endl; // oo ba return 0; }
コンパイル
g++ assign1.cpp -o assign1
実行例
% ./assign1 foo bar = foo bar bar = bar foo = foo c-string = c-string *** = *** --- = --- oo ba = oo ba
関連項目
- std::string::operator=
- std::string::assign
- std::string::string
- std::string