? Копирование строки C++, strcpy

Низкоуровневый язык — это когда требуется внимание к вещам, которые никак не связаны с программами на этом языке.
Alan J. Perlis

Здесь вы можете скачать парочку интересных андроид приложений

Копирование строки. Функция strcpy.

Строки могут копироваться одна в другую. Для этого можно использовать функцию strcpy, которая имеет прототип:

char* strcpy(char* str1, const char* str2);

Функция выполняет побайтное копирование строки, на которую указывает str1. Копирование прекращается только в случае достижения символа конца строки (\0) str2, поэтому перед копированием необходимо убедиться в том, что длина строки str2 не больше длины строки str1. В противном случае возможны ошибки в программе.

Рассмотрим пример. Следующий фрагмент программы копирует в строку z слово "September".

char z[10];
strcpy(z,"September");

Можно проводить копирование не всей строки, а отдельного ее фрагмента до конца строки. Пример:

char str1[20]="Goodbye world";
char str2[20];
//Указатель на строку с адресом str1:
char* ptr=str1;
/*Увеличиваем значение адреса на 8 байт. 
Теперь он указывает на адрес подстроки "world":*/
ptr=ptr+8;
/*Копируем в str2 то, на что указывает 
указатель ptr, т.е. подстроку "world":*/
strcpy(str2,ptr);
/*Выводим на экран то, что получилось 
после копирования:*/
cout<< str2;

На экран выведется: world

Функция strncpy.

Функция strncpy отличается от функции strcpy тем, что добавляется еще один параметр - номер символа, больше которого не будет скопировано. Эта функция имеет прототип:

char* strncpy(char* str1, const char* str2, size_t num);
Пример:
char z[10];
strncpy(z,"String",3);
В строке z будет записано "Str"
C++ новичку     Алфавит и лексемы     Операции в C++     Библиотеки     Потоки ввода- вывода     Разветвляющийся вычислительный процесс
     Циклы    Указатели     Основы работы с динамической памятью     Работа с файлами     Некоторые типичные функции

Разработчик сайта: Филатов Максим