次の方法で共有


char_traits::_Move_s

このシーケンスに重複するごとにシーケンス内の指定された文字数をコピーします。

static char_type *_Move_s(
    char_type *_Dest,
    size_t _Dest_size,
    const char_type *_From,
    size_t _Count
);

パラメーター

  • _Dest
    文字シーケンスのコピーを受信する対象となる文字列または文字配列の先頭の要素。

  • _Dest_size
    _Destのサイズ。char_type が charの場合、これはバイトです。char_type が wchar_tである場合は、Word にあります。

  • _From
    コピー元の文字列または文字配列の先頭の要素。

  • _Count
    元の文字列からコピーする要素の数。

戻り値

最初の要素 _Dest は文字シーケンスのコピーを受信する対象の文字列または文字配列にコピーします。

解説

コピー元とコピー先が重複することがあります。

使用例

// char_traits__Move_s.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( )
{
    using namespace std;

    char_traits<char>::char_type sFrom1[] =  "abcd-1234-abcd";
    char_traits<char>::char_type sTo1[] =  "ABCD-1234";
    char_traits<char>::char_type* result1;
    cout << "The source string sFrom1 is: " << sFrom1 << endl;
    cout << "The destination stringsTo1 is: " << sTo1 << endl;
    result1 = char_traits<char>::_Move_s(sTo1,
        char_traits<char>::length(sTo1), sFrom1, 4);
    cout << "The result1 = _Move_s(sTo1, "
         << "char_traits<char>::length(sTo1), sFrom1, 4) is: "
         << result1 << endl << endl;

    // When source and destination overlap
    char_traits<char>::char_type sToFrom2[] = "abcd-1234-ABCD";
    char_traits<char>::char_type* result2;
    cout << "The source/destination string sToFrom2 is: "
         << sToFrom2 << endl;
    const char* findc = char_traits<char>::find(sToFrom2, 4, 'c');
    result2 = char_traits<char>::_Move_s(sToFrom2,
        char_traits<char>::length(sToFrom2), findc, 8);
    cout << "The result2 = _Move_s(sToFrom2, "
        << "char_traits<char>::length(sToFrom2), findc, 8) is: "
         << result2 << endl;
}
  

必要条件

ヘッダー: <string>

名前空間: std

参照

関連項目

char_traits Struct

安全なライブラリ: 標準 C++ のライブラリ