Freigeben über


char_traits::move

Kopiert eine festgelegte Anzahl von Zeichen in einer Sequenz zu anderen, möglicherweise überlappende Sequenz.

Diese Methode ist möglicherweise unsicher, da sie für den Aufrufer basiert, um zu überprüfen, ob die übergebenen Werte korrekt sind.Verwenden Sie stattdessen char_traits::_Move_s.

static char_type *move(
   char_type* _To, 
   const char_type* _From, 
   size_t _Num 
);

Parameter

  • _To
    Das Element am Anfang der Zeichenfolge oder des Inlinearrays abzielt, um die kopierte Sequenz von Zeichen zu empfangen.

  • _From
    Das Element am Anfang der kopiert werden Quellzeichenfolge oder des Inlinearrays.

  • _Num
    Die Anzahl der von der Quellzeichenfolge kopiert werden Elemente.

Rückgabewert

Das erste Element _To kopiert in die Zeichenfolge oder in das Zeichenarray abzielt, um die kopierte Sequenz von Zeichen zu empfangen.

Hinweise

Die Quelle und das Ziel überlappen sich möglicherweise.

Beispiel

// char_traits_move.cpp
// compile with: /EHsc /W3
#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;
   // Note: char_traits::move is potentially unsafe, consider
   // using char_traits::_Move_s instead.
   result1 = char_traits<char>::move ( sTo1 ,  sFrom1 , 4 );  // C4996
   cout << "The result1 = move ( 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' );
   // Note: char_traits::move is potentially unsafe, consider
   // using char_traits::_Move_s instead.
   result2 = char_traits<char>::move ( sToFrom2 , findc , 8 );  // C4996
   cout << "The result2 = move ( sToFrom2 , findc , 8 ) is: "
        << result2 << endl;
}
  

Anforderungen

Header: <string>

Namespace: std

Siehe auch

Referenz

char_traits Struct