ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк. 
Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ программирования

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Ѐункция ΠΈΡ‰Π΅Ρ‚ строку2 Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ (ячСйку памяти с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символом подстроки) ΠΈΠ»ΠΈ NULL Π² ΡΠ»ΡƒΡ‡Π°Π΅ отсутствия строки2 Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1. Если строка2 являСтся пустой, Ρ‚ΠΎ Ρ„ункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ 1. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для хранСния строк. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ массива символов, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для хранСния строк. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ массива символов, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ символом с ΠΊΠΎΠ΄ΠΎΠΌ 0 (Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ).

НапримСр, слово Program Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ Π² Π²ΠΈΠ΄Π΅:

Π '.

1 V.

Π³.

1 V.

О.

'g'.

I ?

Π“.

V V.

Π°.

" 1 m.

Для хранСния строковых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ статичСскиС ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ массивы.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… описаны Π² Ρ„Π°ΠΉΠ»Π΅ string.h.

Ѐункция sprintf записываСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΌΠ°ΡΡΠΈΠ² символов. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

int sprintf (char *, const char *.

[, / … ]);

Ѐорматированная строка выводится Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, которая задаСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf.

Ѐункция sscanf осущСствляСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

int sscanf (const char *, const char *.

[,, … ]);

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡ‚ΠΈ памяти, которая задастся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ scanf. АргумСнты, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°Π΄Π°ΡŽΡ‚ΡΡ указатСлями Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Ѐункция stamp выполняСт сравнСниС строк ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сравнСния символов, располоТСнных Π² ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… позициях. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

int strcmp (const char *, const char *);

Π Π°Π²Π½Ρ‹ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ строки, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΡΠΎΡΡ‚оящиС ΠΈΠ· ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… символов, располоТСнных Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ порядкС. МСньшСй считаСтся строка, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ мСньшС ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ символа. ΠŸΡ€ΠΈ совпадСнии символов, Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅, мСньшСй считаСтся Ρ‚Π° ΡΡ‚Ρ€ΠΎΠΊΠ°, которая ΠΊΠΎΡ€ΠΎΡ‡Π΅.

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

  • β€’ 0, Ссли строки Ρ€Π°Π²Π½Ρ‹;
  • β€’ -1, Ссли пСрвая строка мСньшС Π²Ρ‚ΠΎΡ€ΠΎΠΉ;
  • β€’ 1, Ссли пСрвая строка большС Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк производится с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра. Для сравнСния Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция stricmp, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ синтаксис ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

Ѐункция street выполняСт объСдинСниС Π΄Π²ΡƒΡ… строк. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

char *strcat (char *, const char *);

Бформированная Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ строка содСрТит строку 1, Π² ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° строка2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ записываСтся Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ1.

Ѐункция strepy ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ строку Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°2 копируСтся Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ1.

Ѐункция strlen вычисляСт Π΄Π»ΠΈΠ½Ρƒ строки Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ…. Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½ΡƒΠ»ΡŒ Π² Ρ‡ΠΈΡΠ»ΠΎ символов Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

size_t strlen (const char *);

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1.

Ѐункция strstr ΠΈΡ‰Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ строку Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

char *strstr< constchar *, constchar *);

Ѐункция ΠΈΡ‰Π΅Ρ‚ строку2 Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ (ячСйку памяти с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символом подстроки) ΠΈΠ»ΠΈ NULL Π² ΡΠ»ΡƒΡ‡Π°Π΅ отсутствия строки2 Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1. Если строка2 являСтся пустой, Ρ‚ΠΎ Ρ„ункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ 1.

Для поиска Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, синтаксис ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ strstr.

  • β€’ strspn — поиск ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния любой подстроки строки2 Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅1;
  • β€’ strcspn — поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа, содСрТащСгося Π² ΡΡ‚рокс2 (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс символа);
  • β€’ strspnp — поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅Π³ΠΎΡΡ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅2;
  • β€’ strchr — поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;
  • β€’ strpbrk — поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ 1 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа, содСрТащийся Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅2 (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‡Π΅ΠΉΠΊΡƒ памяти, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ этот символ);
  • β€’ strrchr — поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅! послСднСго вхоТдСния символа, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Ѐункция strtok Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку Π½Π° ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΈ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

char *strtok (char *, const char *);

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ подстрок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ символы, входящиС Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ2. Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ1 Π½Π΅ Ρ€Π°Π²Π΅Π½ NULL, Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ производится с Π½Π°Ρ‡Π°Π»Π° строки 1, ΠΈ Ρ„ункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ подстроку. Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ 1 Ρ€Π°Π²Π΅Π½ NULL, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΡ разбиСния продолТаСтся, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ подстроку ΠΈΠ»ΠΈ NULL, Ссли большС подстрок Π½Π΅Ρ‚.

МногиС ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π±ΡƒΠΊΠ²Ρ‹ ΠΏ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ количСство символов ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° строки. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΡΠΎ Π²ΡΠ΅ΠΉ строкой, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΅Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΏ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ:

  • β€’ stmcmp — сравнСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π²ΡƒΡ… строк с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра;
  • β€’ stmicmp — сравнСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π²ΡƒΡ… строк Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра;
  • β€’ stmcat — объСдинСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π²ΡƒΡ… строк;
  • β€’ stmcpy — ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… символов исходной строки Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ строку.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ Π΅Ρ‰Π΅ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ:

  • β€’ strlwr — смСна рСгистра всСх символов строки Π½Π° Π½ΠΈΠΆΠ½ΠΈΠΉ (строчныС Π±ΡƒΠΊΠ²Ρ‹);
  • β€’ strupr — смСна рСгистра всСх символов строки Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ (Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹);
  • β€’ strset — Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ строки символом с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (всС символы Π΄Π°Π½Π½ΠΎΠΉ строки Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ символ);
  • β€’ stmset — Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏ символов строки символом с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ;
  • β€’ strrev — рСвСрсированиС строки (запись символов строки Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.9.1

ВвСсти ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС слова Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство слов Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ слов Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎ большС количСства ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСднСС слово ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ся.

#include.

#include int main{).

{.

char si [80], *p; // объявлСниС массива символов.

// ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Сля.

int n, k;

fgets (si, sizeof (sl), stdin); // Π²Π²ΠΎΠ΄ прСдлоТСния.

n = strlen (sl); // n — количСство символов // Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

k = 0;

Ρ€ = si; // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ установлСн Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ // прСдлоТСния for (Ρ€ = si; Ρ€ < sl+n; Ρ€++).

// ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ пСрСмСщаСтся ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ // символа прСдлоТСния.

if (*Ρ€ == ' ') ΠΊ++; // подсчСт количСства ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

printf («%d «# k+1); return 0;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.9.2

ВвСсти ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ввСсти Π΄Π²Π° символа. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ всС ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΠΈ.

#include.

#include int main ().

{.

char si [80], *p; // si — исходноС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

char sml, sm2; // sml — замСняСмый символ,.

// s2 — Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ символ.

int n, ΠΊ;

fgets (sl, sizeof (sl), stdin); scant («%c %c», &sml, &sm2); n = strlen (si); ΠΊ = 0;

for (p = si; p < si + n; p++) // ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Π²ΡΠ΅ΠΌ.

// символам.

if (*p == sml) // запись замСняСмого символа *p = sm2; // вмСсто Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ.

printf («%s», si); return 0;

}.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5.9.3.

ВвСсти ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слова Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. ВывСсти самоС Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово.

#include.

#include int main ().

{.

char si[80], s2[80]; // si — исходноС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅,.

// s2 — искомоС слово fgets (si, sizeof (si), stdin); char *pStr = si, *pWord = NULL; int maxLength = 0; while (pWord = strtok (pStr, ««)).

// Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ слов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

{.

int length = strlen (pWord);

if (length>maxLength) // Ссли Π΄Π»ΠΈΠ½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ.

// слова большС максимума.

{.

strcpy (s2, pWord); // слово копируСтся Π² s2 maxLength = length; // мСняСтся максимальная.

// длина слова.

}.

// ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ устанавливаСтся Π½Π° NULL для продолТСния // разбиСния прСдлоТСния Π½Π° ΡΠ»ΠΎΠ²Π° pStr = NULL;

}.

printf («%s %d», s2, maxLength); // Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² return 0;

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ