Sintaxe:
#include <string> size_type copy( charT* str, size_type num, size_type index = 0 ) const;
A função copy() copia num caracteres da string actual (começando em index se for especificado, caso contrário em 0) em str. O valor devolvido por copy() é o número de caracteres copiado. Por exemplo, o código seguinte usa copy() para extrair uma substring de uma string para um array de caracteres:
char buf[30]; memset( buf, '\0', 30 ); string str = "Trying is the first step towards success."; str.copy( buf, 24 ); cout << buf << endl;
Quando executado, este código mostra:
Trying is the first step
Note-se que antes de invocar copy(), primeiro invocamos (Standard C String e Character) memset() para preencher o array de destino com cópias do caracter NULL. Este passo é incluído para ter a certeza que o resultante array de caracteres termina em NULL.
Tópicos Relacionados: substr