logo search
Posobie_Cpp

Void main()

{

char st[80];

cin.getline(st,80);//вводим строку

int m=strlen(st);// определяем длину строки без нуль-символа

char* pst =new char [m];// создаем динамический массив

strcpy(pst,st); // копируем строку st в pst

cout<<pst<<endl;

}

Функция strcpy копирует все символы строки st в pst, включая нуль-символ.

Другая функция копирования strncpy(pst,st,m) – копирует не более m символов. Если нуль-символ в исходной строке встречается раньше, копирование прекращается, оставшееся место в строке pst заполняется нуль-символами. Если m меньше или равно длине строки st, завершающий нуль-символ в pst не добавляется. Объединить строки можно функцией strncat(st1,st2,n). Функция добавляет не более n символов строки st2 к строке st1. При использовании этой функции следует контролировать границы строковых массивов.

Среди большого количества строковых функций выделим также функцию strrchr(st,ch) – она определяет первое вхождение символа ch в строку st справа, или возвращает значение false в противном случае. И функцию strstr(st,st2), которая определяет, входит ли строка st2 в строку st. Если совпадения символов нет, то возвращается значение false, в противном случае – выводится строка st2.

Следующий листинг демонстрирует работу этой функции:

#include <fstream.h>

#include <string.h>