String синтаксис c

Строка-это массив символов. В этом руководстве мы узнаем. Как объявлять строки. Как работать со строками в программировании на языке Си и как использовать заранее определенные функции обработки строк.
Мы увидим, как сравнивать две строки. Объединять строки. Копировать одну строку в другую и выполнять различные операции манипулирования строками. Мы можем выполнять такие операции. Используя предварительно определенные функции файла заголовка “string.h”. Чтобы использовать эти строковые функции. Вы должны включить файл string.h в свою программу на языке Си.

Объявление строки

строковое объявление в C

Способ 1:

char address[]={'T', 'E', 'X', 'A', 'S', '\0'};

Метод 2: Вышеуказанная строка также может быть определена как

char address[]=;

В приведенном выше объявлении нулевой символ (\0) будет автоматически вставлен в конец строки.

Что такое НУЛЕВОЙ символ “\0”?
'\0' представляет собой конец строки. Он также называется строковым терминатором и нулевым символом.

Строковый ввод-вывод в программировании на языке Си

C String-IO

Чтение и запись строк в C с помощью функций Printf() и Scanf()

#include  #include  int main() { /* String Declaration*/ char nickname[20]; printf(); /* Я читаю входную строку и сохраняю ее в нике 

* Имя массива само по себе работает как базовый адрес массива. Поэтому * здесь мы можем использовать псевдоним вместо &nickname */
scanf(, псевдоним); /*Отображение строки*/ printf(,псевдоним); return 0; }

Выход:

Введите свой ник:Negan Negan

Примечание: спецификатор формата %s используется для ввода/вывода строк

Чтение и запись строк в C с помощью функций gets() и puts()

#include  #include  int main() { /* Объявление строки*/ char nickname[20]; /* Отображение консоли с помощью puts */ puts(); /*Ввод с помощью gets*/ получает(ник); puts(nickname); return 0; }

C – Строковые функции

Строковые функции C

Строковая функция C – strlen

Синтаксис:

size_t strlen(const char *str)

size_t представляет unsigned short
Он возвращает длину строки. Не включая символ конца

(завершающий символ ‘\0’).

Пример strlen:

#include  #include  int main() { char str1[20] = ; printf(, strlen(str1)); return 0; }

Выход:

Длина струны str1: 13

strlen vs sizeof
strlen возвращает длину строки. Хранящейся в массиве. Однако sizeof возвращает общий выделенный размер. Назначенный массиву. Поэтому, если я еще раз рассмотрю вышеприведенный пример. То следующие операторы вернут приведенные ниже значения.

strlen(str1) возвращаемое значение 13.
sizeof(str1) возвращало бы значение 20, поскольку размер массива равен 20 (см. Первое утверждение в main function).

Строковая функция C – strnlen

Синтаксис:

size_t strnlen(const char *str, size_t maxlen)

size_t представляет собой беззнаковую короткую
Он возвращает длину строки. Если она меньше значения. Указанного для maxlen (максимальная длина). В противном случае он возвращает значение maxlen.

Пример strnlen:

#include  #include  int main() { char str1[20] = ; printf(, strnlen(str1, 30)); printf(, strnlen(str1, 10)); return 0; }

Выход:
Длина строки str1 при maxlen равна 30: 13

Длина строки str1 при maxlen равна 10: 10

Заметили ли вы вывод второго оператора printf, хотя длина строки была равна 13, он вернул только 10, потому что maxlen был равен 10.

Строковая функция C – strcmp

int strcmp(const char *str1, const char *str2)

Он сравнивает две строки и возвращает целочисленное значение. Если обе строки одинаковы (равны), то эта функция вернет 0, в противном случае она может вернуть отрицательное или положительное значение на основе сравнения.

Если string1 , то это приведет к отрицательному значению.
Если string1 == string2, то при использовании этой функции для сравнения строк вы получите 0(ноль).

Пример strcmp:

#включают  #включают  инт основной() { char в режиме S1[20] = ; голец С2[20] = ; если (чего strcmp(С1, С2) ==0) { printf(); }else { printf(); } return 0; }

Выход:

строки 1 и 2 различны

Строковая функция C – strncmp

int strncmp(const char *str1, const char *str2, size_t n)

size_t — это для неназначенного короткого
, он сравнивает обе строки до n символов или. Другими словами. Сравнивает первые n символов обеих строк.

Пример strncmp:

#включают  #включают  инт основной() { char в режиме S1[20] = ; голец С2[20] = ; /* ниже-сравнение первые 8 символов S1 и S2*/

если (strncmp(С1, С2, 8) ==0) { printf(); }else { printf(); } return 0; }

Выход:

 строка 1 и строка 2 равны 

Строковая функция C – strcat

char *strcat(char *str1, char *str2)

Он объединяет две строки и возвращает объединенную строку.

Пример strcat:

#include  #include  int main() { char s1[10] = ; char s2[10] = ; strcat(s1,s2); printf(, s1); return 0; }

Выход:

Выходная строка после конкатенации: HelloWorld

Строковая функция C – strncat

char *strncat(char *str1, char *str2, int n)

Он связывает n символов str2 со строкой str1.

Символ терминатора (‘\0’) всегда будет добавлен в конце сцепленной строки.

Пример strncat:

#include  #include  int main() { char s1[10] = ; char s2[10] = ; strncat(s1,s2, 3); printf(, s1); return 0; }

Выход:

Конкатенация с использованием strncat: HelloWor

Строковая функция C – strcpy

char *strcpy( char *str1, char *str2)

Он копирует строку str2 в строку str1, включая конечный символ (terminator char ‘\0’).

Пример strcpy:

#включают  #включают  инт основной() { char С С1[30] = ; голец С2[30] = ; /* эта функция скопировал С2 в С1*/

strcpy(s1,s2); printf(, s1); return 0; }

Выход:

Строка s1 - это: строка 2:Ясобираюсь скопировать ее в s1

Строковая функция C – strncpy

char *strncpy( char *str1, char *str2, size_t n)
size_t является неназначенным коротким и n-это число.
Case1: Если длина str2 > n. То он просто копирует первые n символов str2 в str1.>
Case2: Если длина str2

Пример strncpy:

#включают  #включают  инт основной() { char в первый[30] = ; char в секунду[30] = ; /* эта функция скопировал первые 10 символов из S2 в S1*/ strncpy(s1,s2, 12); printf(, s1); return 0; }

Выход:

Строка s1 : строка 2: Im

Строковая функция C – strchr

char *strchr(char *str, int ch)

Он ищет строку str для символа ch (вам может быть интересно. Что в приведенном выше определении я дал тип данных ch как int. Не волнуйтесь. Я не сделал никакой ошибки. Это должно быть только int. Дело в том, что когда мы даем какой-либо символ при использовании strchr. То он внутренне преобразуется в целое число для лучшего поиска.

Пример strchr:

#include  #include  int main() { char mystr[30] = ; printf (, strchr(mystr, 'f')); return 0; }

Выход:

f функция strchr

Строковая функция C – Strrchr

char *strrchr(char *str, int ch)

Это похоже на функцию strchr. С той лишь разницей. Что она ищет строку в обратном порядке. Теперь вы бы поняли. Почему у нас есть дополнительный r в strrchr. Дагадали правильно. Это только для обратного.

Теперь давайте возьмем тот же пример выше:

#include  #include  int main() { char mystr[30] = ; printf (, strrchr(mystr, 'f')); return 0; }

Выход:

функция strchr

Почему выход отличается от strchr? Это потому, что он начал поиск с конца строки и нашел первую букву

Строковая функция C – strstr

char *strstr(char *str, char *srch_term)

Он похож на strchr. За исключением того. Что он ищет строку srch_term вместо одного символа.

Пример strstr:

#include  #include  int main() { char inputstr[70] = ; printf (, strstr(inputstr, 'Begi')); return 0; }

Выход:

Выходная строка : BeginnersBook.COM

Вы также можете использовать эту функцию вместо strchr. Так как вам разрешено давать один символ также вместо строки search_term.