Функция strcpy
Функция strcpy копирует содержимое одной C-строки
(массива символов) в другую. В первый параметр мы передаём
указатель на массив назначения, куда будет скопирована строка,
а во второй - указатель на исходную строку, которую нужно
скопировать. Функция возвращает указатель на строку назначения.
Важно, что массив назначения должен быть достаточно большим,
чтобы вместить исходную строку вместе с завершающим нулевым
символом.
Синтаксис
char* strcpy(char* destination, const char* source);
Пример
Давайте скопируем строку "abcde" из одного массива
символов в другой и выведем результат:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char source[] = "abcde";
char destination[10];
strcpy(destination, source);
cout << destination << endl;
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте убедимся, что функция возвращает указатель на строку назначения, и используем этот результат для вывода:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char source[] = "12345";
char destination[10];
char* res = strcpy(destination, source);
cout << res << endl;
return 0;
}
Результат выполнения кода:
12345
Пример
Давайте скопируем одну строку поверх другой, чтобы увидеть, как перезаписывается содержимое массива назначения:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char destination[] = "abcde";
char source[] = "12345";
strcpy(destination, source);
cout << destination << endl;
return 0;
}
Результат выполнения кода:
12345