МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Функція strсatКОНКАТЕНАЦІЯ РЯДКІВ Функція strdup Функція strncpy Функція strncpy відрізняється від strcpy тим, що в її параметрах додається ще один аргумент, що вказує кількість символів, не більше якого буде скопійовано. Її синтаксис має вигляд: char* stmcpy ( char* strl, const char* str2, size_t num ) ; Якщо довжина str1 менше довжини str2, відбувається урізування символів: char slong [ ] = "0123456789" ; // оголошення й ініціалізація рядка довжиною 10 символів char sshort [ ] = "abcdef" ; // оголошення й ініціалізація рядка довжиною 6 символів stmcpy ( sshort, slong, 4) ; // копіювання рядка "0123" в у початок рядка sshort cout << sshort << ' \n' ; // вивід на екран рядок "0123ef" Тобто з рядка slong у рядок sshort скопійовано чотири перші символи, затерши тим самим вихідне значення початку короткого рядка. Функція strdup у якості параметра одержує вказівник на рядок джерело, здійснює розподіл пам'яті, копіює у відведену область рядок і повертає вказівник на початок отриманої рядка-копії. Синтаксис функції наступний: char* strdup ( const char* source ) ; У наступному прикладі проводиться копіювання рядка, на який вказує вказівник ps1, у рядок, на який вказує вказівник ps2: char* ps1 = "File not found" ; // оголошення вказівника на символ, // виділення пам'яті для рядка довжиною 14 символів і // ініціалізація вказівника ps1 адресою цього рядка char* ps2 ; // оголошення вказівника на символ ps2 = strdup ( ps1 ) ; // виділення пам'яті для рядка довжиною 14 символів і // ініціалізація вказівника ps2 адресою цього рядка cout << ps2 << '\n' ; // вивід на екран рядка, на який вказує // вказівник ps2: "File not found" cout << strlen ( ps2 ) << '\n' ; // вивід на екран довжини рядка, // на яку вказує вказівник ps2: "14" Конкатенація (або приєднання) рядків досить часто використовується для створення нового рядка символів. Для цієї операції стандартна бібліотека пропонує функції strcat і strncat. Функція strсat має синтаксис: char* strcat ( char* str1, const char* str2 ) ; У результаті роботи функції вміст рядка, на який вказує str2, приєднується до вмісту рядка, на який посилається str1. вказівник, що вертається функцією, str1 вказує на результуючий рядок. При цьому розмір строкового масиву str1 повинна бути достатнім для зберігання об'єднаного рядка. У наступному прикладі рядок S ініціалізується за допомогою функції копіювання strcpy і доповнюється рядком, використовуючи функцію strcat: char S [26] ; // оголошення рядка довжиною 25 символів strcpy ( S, "Press any key ") ; // ініціалізація рядка cout << S << '\n' ; // вивід на екран рядка “Press any key ” strcat ( S, "to continue") ; // додавання в кінець рядка “to continue” cout << S << '\n' ; // вивід на екран рядка “Press any key to continue” Читайте також:
|
||||||||
|