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