char *strcpy( char *strDestination, const char *strSource ); wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource ); unsigned char *_mbscpy( unsigned char *strDestination, const unsigned char *strSource ); |
Указатель на строку, являющуюся выходным значением.
s2Указатель на исходную строку с нулевым символом в конце.
Возвращает указатель на символьную строку s1.
Если при копировании область памяти, указанная параметром s1 перекрывается областью памяти, указанной s2, то поведение функции не определено.
Библиотека стандартных функций С.
Функция объявлена в заголовочном файле string.h
Копирует строку.
char *strcpy( char *strDestination, const char *strSource ); wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource ); unsigned char *_mbscpy( unsigned char *strDestination, const unsigned char *strSource ); |
Параметры
strDestinationСтрока, являющаяся выходным значением.
strSourceИсходная строка с нулевым символом в конце.
Каждая из этих функций возвращает строку, являющуюся выходным значением. Возвращаемых значений, указывающих на ошибку, нет.
Функция strcpy копирует строку,указанную параметром strSource, включая символ завершающего нуля, в место, указанное параметром strDestination. Поведение strcpy не определяется, если источниковая и являющаяся выходным значением строки накладываются друг на друга.
Предупреждение по безопасности Поскольку функция strcpy не проверяет достаточно ли места в строковом массиве, указанном strDestination прежде, чем скопировать туда strSource, это - потенциальная причина переполнения буфера. Рассмотрите лучше использование функции strncpy вместо этой. |
Функции wcscpy и _mbscpy - широкосимвольные и многобайтово-символьные версии strcpy. Параметры и возвращаемое значение wcscpy - широкосимвольные строки; а _mbscpy являются многобайтово-символьными строками. В противном случае эти три функции ведут себя тождественно.
процедураTCHAR.H |
_UNICODE & _MBCS не определяется |
определяется как _MBCS |
определяется как _UNICODE |
---|---|---|---|
_tcscpy | strcpy | _mbscpy | wcscpy |
Процедура | Требуемый заголовочный файл | Совместимость |
---|---|---|
strcpy | <string.h> | ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP |
wcscpy | <string.h> or <wchar.h> | ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP |
_mbscpy | <mbstring.h> | Win 98, Win Me, Win NT, Win 2000, Win XP |
Дополнительную информацию о совместимости, см. в разделе Совместимость в статье Введение.
Все версии библиотек исполняющей системы C.
// crt_strcpy.c /* Эта программа использует strcpy * и strcat, чтобы построить фразу */ #include <string.h> #include <stdio.h> int main( void ) { char string[80]; // Обратите внимание! на то, что если Вы изменяете предыдущую строку на // char string[20]; функции // strcpy и strcat соответствующим образом переполнят // строковый буфер. См. примеры для функций strncpy и strncat // для более безопасной обработки строк. strcpy( string, "Hello world from " ); strcat( string, "strcpy " ); strcat( string, "and " ); strcat( string, "strcat!" ); printf( "String = %s\n", string ); } |
String = Hello world from strcpy and strcat!
Процедуры управления строками | strcat | strcmp | strncat | strncmp | strncpy | _strnicmp | strrchr | strspn | Процедуры реального времени и Эквиваленты .NET Framework