Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Робота з рядками






3.1. Методичні вказівки до організації самостійної роботи студентів

 

У мові С++ є кілька можливостей роботи із символьними даними. Класична робота зводиться до використання масиву символів. Для того, щоб скористуватися стандартними функціями С++ для роботи з рядками, треба їх файли підключити в директиві #include < string.h>. Основні функції з цього пакета наведено нижче.

char*strcat (char*_dest, const char*_src); — функція реалізує зціплення рядка dest з рядком src. Функція вертає покажчик на початок отриманого рядка (dest). Проміжний символ ‘\0’ рядка dest гаситься.

char*strncat (char*_dest, const char*_src, size_t_maxlen); — функція приєднує maxlen символів з рядка, на який указує src, до рядка, на який указує dest. Рядок dest повинен містити не менше maxlen від вільних байтів. Якщо maxlen більше рядка src, виконується проста конкатенація.

char*strchr (const char*_, int_c); — функція вертає покажчик на позицію першого входження символу “c” у рядок, на який вказує s. В рядок s включається і символ ‘\0’.

int strcmp (const char*_s1, const char*_s2); — функція виконує порівняння двох рядків, на початок яких вказують s1 і s2. Функція вертає значення: менше від нуля, якщо s1< s2; рівне нулю, якщо s1==s2; більше від нуля, якщо s1> s2.

int strnсmp (const char*_s1, const char*_s2, size_t_maxlen); — функція, що аналогічна функції strcmp () і відрізняється тим, що виконується порівняння перших maxlen байтів.

int stricmp (const char *_s1, const char *_s2); — функція виконує порівняння двох рядків, на що вказують s1 і s2. Перед порівнянням символи перетворюються в малі. Функція вертає значення: більше від нуля, якщо s1> s2; рівно нулю, якщо s1==s2; менше від нуля, якщо s1< s2.

int strlen (const char*_s); — функція вертає довжину рядка в байтах, на який вказує s. Нуль не враховується.

char*stpcpy (char *_dest, const char *_src); — функція копіює рядок, на котрий вказує src, в інше місце в пам'яті, на що вказує est. Функція вертає покажчик на кінець рядка, що скопіювався в dest.

char*strncpy (char*_dest, const char*_src, size_t_maxlen); — функція копіює maxlen байт з рядка, на який указує src, в інше місце в пам'яті, на що вказує dest. Нуль-термінатор теж копіюється. Якщо maxlen менше від довжини рядка src, до рядка src не приєднується символ “\0”. І якщо більше, то рядок src переноситься повністю, а символи, що залишалися, заповнюються символом “\0”. Функція вертає покажчик dest.

char *strlwr (char *_s); — функція перетворює всі символи рядка, на початок якого вказує s, у малі літери. Функція повертає покажчик на початок цього рядка.

char *strups (char *_s); — функція перетворює всі символи рядка, на початок якої вказує s, у великі літери. Функція вертає покажчик на отриманий рядок.

char *strset (char *_s, int_ch); — функція заповнює рядок, на початок якого вказує s, символом ch. Функція вертає покажчик на отриманий рядок.

char *strtok (char *_s1, char *_s2); — функція вертає наступну лексему із s1, яка відділена будь-яким символом з набора s2.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал