Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Функція 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”


Читайте також:

  1. Бюджетування як функція фінансового контролінгу
  2. Виробництво та виробнича функція
  3. Виробництво та виробнича функція
  4. Виробнича функція з двома змінними факторами
  5. Виробнича функція з двома змінними факторами
  6. Виробнича функція з одним змінним фактором
  7. Виробнича функція з одним змінним фактором
  8. Гамма-функція
  9. Гіпофункція нейрогіпофіза
  10. Двофакторна виробнича функція
  11. Двофакторна виробнича функція.
  12. Державне регулювання як головна функція державного управління економікою, його форми й методи




Переглядів: 453

<== попередня сторінка | наступна сторінка ==>
Функція strcpy | Функція strncmp

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.