Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Функции работы со строками c ( string h )

   Функции работы со строками c

Давайте вначале посмотрим, что нам может дать наша библиотека stdio.h, которая содержит парочку функций работы со строками:

  1. int getchar()
  2. возвращает значение символа, введенного вами с клавиатуры. А вот и вывод этого числа:

    printf("%d", getchar());

  3. char *gets (char *s)
  4. функция просит вводить пользователя строку, которую она помещает в массив s, пока пользователь не нажмет 'Enter':

    char str[7] = "";
    gets(str) ;

  5. int putchar (int c)
  6. печатает символ, который имеет код 'c':

    putchar(97);//напечатает символ а

  7. int puts (char *s)
  8. печатает строку s и переводит курсор на новую строку:

    char str[7] = "sergey";
    puts(str);

  9. int sprintf (char *s, char *format, ...)
  10. Выполняет тоже, что и функция printf, за тем исключением, что записывает данные в массив s:

    char str[37] = "";
    sprintf (str,"chislo:%d, month: %s",10,"desember");
    //В массиве будет: chislo:10, month: desember

  11. int sscanf (char *s, char *format, ...)
  12. происходит ввод значений не с клавиатуры, а из массива s:

    char str[37] = "sergey", s[100]="";
    sscanf (str,"%s", s);

   string.h

Теперь давайте рассмотрим очень мощную библиотеку для работы со строками c: string.h. Естественно, что для работы функций библиотеки string.h ее надо подключить к нашей программе.

Вот перечень функций:

  1. char *strcpy (char *srt1, char str2)
  2. Копирует строку str2 в строку str1, возвращаемым значением этой функции является новая, полученная строка str1

    char str[37] = "sergey", s[100]="monk";
    strcpy(str,s);

  3. char *strncpy (char *srt1, char str2, int n)
  4. эта функция делает все тоже самое, что и предвидущая, за исключением того, что тут возможен контроль количества копируемых символов:

    char str[37] = "sergey", s[100]="monk";
    strncpy(str,s,3);//ответ: mongey

  5. char *strcat (char *srt1, char str2)
  6. Функция добавляет в строку str1 строку str2. Т.е. на место нуль-терминатора в строке str1, вставляется строка str2:

    char str[37] = "sergey", s[100]="monk";
    strcat(str,s); //Ответ: sergeymonk

  7. char *strncat (char *srt1, char str2, int n)
  8. Добавляет к первой строке ровно n символов из второй строки

    char str[37] = "sergey", s[100]="monk";
    strncat(str,s,2);//ответ: sergeymo

Вот вы и посмотрели функции работы со строками c и библиотечный файл string.h. С ними все намного упрощается. Но прежде чем вы будете их использовать, надо выполнить домашнее задание.

Задания:

  1. вы увидели примеры выполнения функций из библиотеки string.h. Ваша задача самому реализовать все эти функции. Это не так сложно, как кажется на первый взгляд. Вы должны четко понимать, как работает та или иная функция

Предвидущие уроки:

  1. Одномерные массивы
  2. Многомерные массивы
  3. Работа со строками в c (си)
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru